wireless-to-wired bridging

Reid Linnemann lreid at cs.okstate.edu
Fri Feb 11 06:58:17 PST 2005


On 2/11/2005, "Lowell Gilbert"
<freebsd-questions-local at be-well.ilk.org> wrote:

>"Reid Linnemann" <lreid at 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?



More information about the freebsd-questions mailing list