Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Dec 2010 08:48:56 +0100
From:      Monthadar Al Jaberi <monthadar@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Bridging mesh with wired not working?
Message-ID:  <AANLkTik6E74mcjEMde3MRnKF9PtHqp=eAe-xrZ2hJAW_@mail.gmail.com>
In-Reply-To: <AANLkTikBv%2BBSQbr0MfzkqhADC-twHsc=WNKTCLOU8x2=@mail.gmail.com>
References:  <AANLkTimvjuvYJLbXgMsX%2BsRjGiNeXVFL%2BZZwf3W30oOn@mail.gmail.com> <AANLkTikBv%2BBSQbr0MfzkqhADC-twHsc=WNKTCLOU8x2=@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 1, 2010 at 5:02 AM, Adrian Chadd <adrian@freebsd.org> 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
/*
 * Iterate the routing table and locate the next hop.
 */
static struct ieee80211_node *
mesh_find_txnode(struct ieee80211vap *vap,
    const uint8_t dest[IEEE80211_ADDR_LEN])
{
...
if ((rt->rt_flags & IEEE80211_MESHRT_FLAGS_VALID) =3D=3D 0 ||
	    (rt->rt_flags & IEEE80211_MESHRT_FLAGS_PROXY)) {
		IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MESH, dest,
		    "%s: !valid or proxy, flags 0x%x", __func__, rt->rt_flags);
		/* XXX stat */
		return 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 verify
that it goes out:
static int
mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int nf)
{
...
/*
		 * Potentially forward packet.  See table s36 (p140)
		 * for the rules.  XXX tap fwd'd packets not for us?
		 */
		if (dir =3D=3D IEEE80211_FC1_DIR_FROMDS ||
		    !mesh_isucastforme(vap, wh, mc)) {
			mesh_forward(vap, m, mc);
			if (dir =3D=3D IEEE80211_FC1_DIR_DSTODS)
				goto out;
			/* NB: fall thru to deliver mcast frames locally */
		}
...
}

I am puzzeled... everyone says it works, did I miss something?! :P


br,

>
>
> adrian
>
> On 30 November 2010 15:38, Monthadar Al Jaberi <monthadar@gmail.com> wrot=
e:
>> 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<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
>> metric 0 mtu 1500
>> =A0 =A0 =A0 =A0options=3D80000<LINKSTATE>
>> =A0 =A0 =A0 =A0ether XX:XX:XX:XX:XX:XX
>> =A0 =A0 =A0 =A0media: Ethernet autoselect (100baseTX <full-duplex>)
>> =A0 =A0 =A0 =A0status: active
>> wlan0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
>> 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 11g =
<mesh>
>> =A0 =A0 =A0 =A0status: running
>> =A0 =A0 =A0 =A0meshid monty channel 1 (2412 MHz 11g) bssid 00:15:6d:67:2=
1:8d
>> =A0 =A0 =A0 =A0country US ecm authmode OPEN privacy OFF txpower 20 scanv=
alid 60
>> =A0 =A0 =A0 =A0protmode CTS wme burst meshttl 31 meshpeering meshforward
>> =A0 =A0 =A0 =A0meshmetric AIRTIME meshpath HWMP hwmprootmode DISABLED hw=
mpmaxhops 31
>> bridge0: flags=3D28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PP=
ROMISC>
>> 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 fwddelay =
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<LEARNING,DISCOVER,AUTOEDGE,AUTO=
PTP>
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifmaxaddr 0 port 4 priority 128 path cost=
 200000
>> =A0 =A0 =A0 =A0member: wlan0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTO=
PTP>
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifmaxaddr 0 port 7 priority 128 path cost=
 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"
>>
>



--=20
//Monthadar Al Jaberi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTik6E74mcjEMde3MRnKF9PtHqp=eAe-xrZ2hJAW_>