2012-08-19 17:51:48

by Sergey Ryazanov

[permalink] [raw]
Subject: Per sta interfaces in WDS (4-address) mode

Hello dear all,

please tell me, why in the WDS mode, the stack creates a new interface
for each WDS station, and this interface hostapd adds to the parent AP
interface bridge? Why we couldn't simply pass this frames via AP
interface?

--
With best wishes
Sergey Ryazanov


2012-08-20 15:13:56

by Pavel Roskin

[permalink] [raw]
Subject: Re: Per sta interfaces in WDS (4-address) mode

On Sun, 19 Aug 2012 21:51:27 +0400
Sergey Ryazanov <[email protected]> wrote:

> Hello dear all,
>
> please tell me, why in the WDS mode, the stack creates a new interface
> for each WDS station, and this interface hostapd adds to the parent AP
> interface bridge? Why we couldn't simply pass this frames via AP
> interface?

You may want to use a completely different IP address and netmask on the
WDS interface. Using the AP interface would take away that option.

hostapd is not a part of the kernel. It should be possible not to add
WDS interfaces to the bridge.

--
Regards,
Pavel Roskin

2012-08-23 06:50:07

by Sergey Ryazanov

[permalink] [raw]
Subject: Re: Per sta interfaces in WDS (4-address) mode

Pavel, Felix thanks for the quick response. Appears that I missed the
discussion of this solution.

2012/8/23 Felix Fietkau <[email protected]>:
> On 2012-08-20 5:13 PM, Pavel Roskin wrote:
>> On Sun, 19 Aug 2012 21:51:27 +0400
>> Sergey Ryazanov <[email protected]> wrote:
>>
>>> Hello dear all,
>>>
>>> please tell me, why in the WDS mode, the stack creates a new interface
>>> for each WDS station, and this interface hostapd adds to the parent AP
>>> interface bridge? Why we couldn't simply pass this frames via AP
>>> interface?
>>
>> You may want to use a completely different IP address and netmask on the
>> WDS interface. Using the AP interface would take away that option.
>>
>> hostapd is not a part of the kernel. It should be possible not to add
>> WDS interfaces to the bridge.
> It's not just that. If the WDS station communication were done over the
> AP interface, mac80211 would have to keep a table of which MAC address
> is reachable behind which WDS station, which is something that the
> bridge layer is supposed to do.
> I've seen such a design mistake in various drivers, and I've seen the
> weird quirks that this usually produces in more complex network
> topologies ;)
>
Implementing WDS support directly in the driver (or stack) - it is
really a complex task. Several years ago, had to spend a lot of time
catching bugs in the madwifi code. But when we use virtual interfaces
and generic bridge there a few questions.
1. How to isolate the clients and hosts behind them?
2. How to tag outgoing packets with 802.1Q tags? If we do:
ip link add link wlan0 name wlan0.15 type vlan id 15
it will only tagged packets going directly to client stations, but not
to hosts behind them.

--
BR Sergey

2012-08-22 20:28:48

by Felix Fietkau

[permalink] [raw]
Subject: Re: Per sta interfaces in WDS (4-address) mode

On 2012-08-20 5:13 PM, Pavel Roskin wrote:
> On Sun, 19 Aug 2012 21:51:27 +0400
> Sergey Ryazanov <[email protected]> wrote:
>
>> Hello dear all,
>>
>> please tell me, why in the WDS mode, the stack creates a new interface
>> for each WDS station, and this interface hostapd adds to the parent AP
>> interface bridge? Why we couldn't simply pass this frames via AP
>> interface?
>
> You may want to use a completely different IP address and netmask on the
> WDS interface. Using the AP interface would take away that option.
>
> hostapd is not a part of the kernel. It should be possible not to add
> WDS interfaces to the bridge.
It's not just that. If the WDS station communication were done over the
AP interface, mac80211 would have to keep a table of which MAC address
is reachable behind which WDS station, which is something that the
bridge layer is supposed to do.
I've seen such a design mistake in various drivers, and I've seen the
weird quirks that this usually produces in more complex network
topologies ;)

- Felix