Date: Fri, 11 Feb 2005 08:58:16 -0600 (CST) From: "Reid Linnemann" <lreid@cs.okstate.edu> To: freebsd-questions-local@be-well.ilk.org Cc: freebsd-questions@freebsd.org Subject: Re: wireless-to-wired bridging Message-ID: <20050211145816.8FA52A069F@csa.cs.okstate.edu> In-Reply-To: <443bw3p3wu.fsf@be-well.ilk.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/11/2005, "Lowell Gilbert" <freebsd-questions-local@be-well.ilk.org> wrote: >"Reid Linnemann" <lreid@cs.okstate.edu> writes: > >> I have a question that is more of a networking question than a BSD >> question, but I am hoping someone out there has faced this same dilemma >> before and has some advice: >> >> I have a FreeBSD machine running -current that servers as a router for my >> home LAN, using nat. I recently tossed in a DLink DWL-G520 wireless card >> (ath0), and bridged that interface to the internal LAN interface on the >> machine (rl1). After a bit of configurating, I had the ath interface in >> hostap mode, and everything was working great - except the wired clients >> cannot route to eachother. >> >> I am suspicious that, since the wired network is in AP mode, if a >> wireless client wants to send a packet to another wireless client, it >> must be sent to the AP, which should theoretically redirect the packet >> to the appropriate host on the wireless net. In the wired network, a >> switch handles this automagically on the datalink layer without those >> messages hitting the rl1 interface of the BSD router. I've looked at >> the bridge code, and it seems that unless a packet is multicast or >> broadcast it will be copied to the other bridge interfaces but not >> returned to the original caller. Since the packets being sent between >> wireless clients are not broadcast, I think they are getting dumped into >> the black hole of the wired LAN, and not being processed and pumped back >> out through the ath interface. Is this a correct assumption? Are there >> ways I can overcome this problem? > >I think that you mixed up the terms "wired" and "wireless" in some >(but not all) of the uses above. This makes it somewhat harder to >follow the problem. > >I would actually suggest that you make the wireless link a separate >subnet from the Ethernets. 802.11 really is a different protocol than >802.1, and I don't think you'll get any performance benefit from >bridging in this case. I'm bridging the devices so that the wired and wireless nets will appear to be on the same physical network to eachother. I think I was really tired when I wrote my original email.. so let me rewrite my hypothesis: I am suspicious that, since the wireless interface on the BSD machine operates in AP mode, if a wireless client wants to send a packet to another wireless client, it must be first sent to the wireless interface of the BSD machine, which should theoretically redirect the packet to the appropriate host on the wireless net. In the wired network, a switch handles this case automagically on the datalink layer before any messages can hit the rl1 interface of the BSD router. I've looked at the bridge code, and it seems that unless a packet is multicast or broadcast it will be copied to the other bridged interfaces but not returned to the original caller. Since the packets being sent from one wireless client to another are not broadcast, I think that the bridge module may be dumping them into the black hole of the wired LAN, and they are not being processed and pumped back out through the ath interface. Is this a correct assumption? Are there ways I can overcome this problem?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050211145816.8FA52A069F>