From owner-freebsd-net@FreeBSD.ORG Wed Dec 1 09:03:01 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AABF7106566B; Wed, 1 Dec 2010 09:03:01 +0000 (UTC) (envelope-from monthadar@gmail.com) Received: from mail-qy0-f175.google.com (mail-qy0-f175.google.com [209.85.216.175]) by mx1.freebsd.org (Postfix) with ESMTP id 445198FC0C; Wed, 1 Dec 2010 09:03:00 +0000 (UTC) Received: by qyk8 with SMTP id 8so2200376qyk.13 for ; Wed, 01 Dec 2010 01:03:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=T0TP8gr2iJlKmg+Idb1LOosAgXbbtPm+/gJ+iKe5Yic=; b=jgagheVSPKLJiCjKGQZ0jOK1cqHet9UO4RAXQAO/A6z68Vg0OLUoG14PkpqmGQM3/Z VD6zoNRWyXmFFWbSUXhieXP+bBYARN73Gwf2i5XsHEi0Ibnkt4LxvehPYwcKWUQR8obU g0GEXSCbOj6uyXs/Vt5E7GrN7JHmLmU+/UWWQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=UJ4600wlXSt401ymj80ZyhV6/sYerZWGa4IrRg1IMDzoAXkkktJV5lH8Sy8ZSgOOKc LxH39LLypOyEWeijvN3SH7i9KB64HECJnd5Ay2GLgJwCq+tYyURUP69nSlv1iGfp/7WD q/76be0Mua4OSp+iU9iLw2kSPdu6M+jOeZQH4= MIME-Version: 1.0 Received: by 10.229.191.130 with SMTP id dm2mr6934466qcb.256.1291194180253; Wed, 01 Dec 2010 01:03:00 -0800 (PST) Received: by 10.229.248.193 with HTTP; Wed, 1 Dec 2010 01:03:00 -0800 (PST) In-Reply-To: References: Date: Wed, 1 Dec 2010 10:03:00 +0100 Message-ID: From: Monthadar Al Jaberi To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-net@freebsd.org Subject: Re: Bridging mesh with wired not working? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Dec 2010 09:03:01 -0000 On Wed, Dec 1, 2010 at 9:22 AM, Adrian Chadd wrote: > The mesh code is really a proof of concept. It definitely needs > someone to actually sit down and use it, then document all of the > things that aren't working. > > I tried it for about 5 minutes and discovered that although it seems > to basically work, MAC addresses migrating from wired<->wireless > didn't migrate destinations in the mesh table, so the mesh network > would treat it incorrectly. I ran out of time (my spare time is how was your setup? Was it like mine? did you ping? I can ping the MESH PORTAL itself but not the MESH POINT behind it. > focused on understanding and implementing Atheros 11n at the moment) > so I had to stop. Thank you for your time :) > > If you'd like to be the person who sits down and tries to use the > meshing stuff then please, by all means. :-) I have been trying to understand the code for some time now, its hard especially that the standard changed a lot? I found that if you set it up like I did, it wont ping at all, cause it would stop at the place I noted. I tried to make it run the rest of the code instead of going out when it is a proxy dest, and it did ping!!! but! if I change anything in how the mesh is set up it wont invalidate old values and thus stop working for proxy addresses :( > > > > Adrian br, > > On 1 December 2010 15:48, Monthadar Al Jaberi wrote= : >> On Wed, Dec 1, 2010 at 5:02 AM, Adrian Chadd wrote: >>> I believe that's supposed to work. :-) >> >> Did you try it? on current? I am running 201010 Current. From the code >> I see some comments like "/* XXX add support for proxied addresses >> */". For me it looks like the code for proxy is half done, if I may >> say so myself :P >> >> see this method in net80211/ieee80211_mesh.c >> /* >> =A0* Iterate the routing table and locate the next hop. >> =A0*/ >> static struct ieee80211_node * >> mesh_find_txnode(struct ieee80211vap *vap, >> =A0 =A0const uint8_t dest[IEEE80211_ADDR_LEN]) >> { >> ... >> if ((rt->rt_flags & IEEE80211_MESHRT_FLAGS_VALID) =3D=3D 0 || >> =A0 =A0 =A0 =A0 =A0 =A0(rt->rt_flags & IEEE80211_MESHRT_FLAGS_PROXY)) { >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MES= H, dest, >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"%s: !valid or proxy, flags 0x%x"= , __func__, rt->rt_flags); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/* XXX stat */ >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return NULL; >> } >> ... >> } >> >> it stops if the dest node is a proxy. Then after failing in forwarding >> it goes out (=3D=3D discard frame?), I put a print message there to veri= fy >> that it goes out: >> static int >> mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int nf) >> { >> ... >> /* >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 * Potentially forward packet. =A0See tab= le s36 (p140) >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 * for the rules. =A0XXX tap fwd'd packet= s not for us? >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 */ >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (dir =3D=3D IEEE80211_FC1_DIR_FROMDS |= | >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0!mesh_isucastforme(vap, wh, mc)) = { >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mesh_forward(vap, m, mc); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (dir =3D=3D IEEE80211_= FC1_DIR_DSTODS) >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0goto out; >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/* NB: fall thru to deliv= er mcast frames locally */ >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} >> ... >> } >> >> I am puzzeled... everyone says it works, did I miss something?! :P >> >> >> br, >> >>> >>> >>> adrian >>> >>> On 30 November 2010 15:38, Monthadar Al Jaberi wr= ote: >>>> Hi, >>>> >>>> Can anyone confirm that bridging a mesh with a wired interface is not >>>> working? I want to make sure that it is not a problem from my side. >>>> >>>> When I ping from outside the mesh I get: "!valid or proxy" and "frame >>>> not fwd'd, no path" from the debug information. >>>> >>>> My setup is simple >>>> >>>> STA --- MPP )) -- (( MP >>>> >>>> STA: Ubuntu PC >>>> MPP: RSPRO mesh portal bridging wired and mesh >>>> MP: RSPRO mesh point >>>> >>>> ifconfig for MPP: >>>> arge0: flags=3D8943 >>>> metric 0 mtu 1500 >>>> =A0 =A0 =A0 =A0options=3D80000 >>>> =A0 =A0 =A0 =A0ether XX:XX:XX:XX:XX:XX >>>> =A0 =A0 =A0 =A0media: Ethernet autoselect (100baseTX ) >>>> =A0 =A0 =A0 =A0status: active >>>> wlan0: flags=3D8943 >>>> metric 0 mtu 1500 >>>> =A0 =A0 =A0 =A0ether YY:YY:YY:YY:YY:YY >>>> =A0 =A0 =A0 =A0inet 192.168.1.91 netmask 0xffffff00 broadcast 192.168.= 1.255 >>>> =A0 =A0 =A0 =A0media: IEEE 802.11 Wireless Ethernet autoselect mode 11= g >>>> =A0 =A0 =A0 =A0status: running >>>> =A0 =A0 =A0 =A0meshid monty channel 1 (2412 MHz 11g) bssid 00:15:6d:67= :21:8d >>>> =A0 =A0 =A0 =A0country US ecm authmode OPEN privacy OFF txpower 20 sca= nvalid 60 >>>> =A0 =A0 =A0 =A0protmode CTS wme burst meshttl 31 meshpeering meshforwa= rd >>>> =A0 =A0 =A0 =A0meshmetric AIRTIME meshpath HWMP hwmprootmode DISABLED = hwmpmaxhops 31 >>>> bridge0: flags=3D28943 >>>> metric 0 mtu 1500 >>>> =A0 =A0 =A0 =A0ether ZZ:ZZ:ZZ:ZZ:ZZ:ZZ >>>> =A0 =A0 =A0 =A0id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddela= y 15 >>>> =A0 =A0 =A0 =A0maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 >>>> =A0 =A0 =A0 =A0root id 00:00:00:00:00:00 priority 32768 ifcost 0 port = 0 >>>> =A0 =A0 =A0 =A0member: arge0 flags=3D143 >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifmaxaddr 0 port 4 priority 128 path co= st 200000 >>>> =A0 =A0 =A0 =A0member: wlan0 flags=3D143 >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifmaxaddr 0 port 7 priority 128 path co= st 370370 >>>> >>>> br, >>>> -- >>>> //Monthadar Al Jaberi >>>> _______________________________________________ >>>> freebsd-net@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net >>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >>>> >>> >> >> >> >> -- >> //Monthadar Al Jaberi >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >> > --=20 //Monthadar Al Jaberi