2012-07-30 13:36:35

by Johannes Berg

[permalink] [raw]
Subject: WDS vs. multi-channel operation

Ok so I'm chipping away at multi-channel operation, but WDS is
troubling. Which channel should it use? It doesn't even have channel
configuration today, but relies on having a channel already, but that
breaks when you have multi-channel since then it either has to have its
own channel or be slaved to another channel...

Anyone have any ideas?

johannes



2012-08-06 15:06:47

by Johannes Berg

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On Mon, 2012-08-06 at 17:02 +0200, Felix Fietkau wrote:

> >> If you're going to require them to be bound to an AP though, where's the
> >> difference to the current 4-addr AP_VLAN behaviour? It seems with that
> >> you could actually implement a bound-to-AP-WDS entirely in userspace
> >> since there's no requirement to actually go through the auth/assoc
> >> sequence for hostapd to add the station entry?
> >
> > Oh and if you actually do need WDS-type interfaces, maybe their role
> > should change to be virtual like AP_VLAN-type interfaces?

> The difference between WDS and 4-addr AP_VLAN is that WDS is AP<->AP,
> not AP<->STA. I guess it would be possible to write some code to create
> AP VLANs + station entries for remote APs based on cooked monitor mode
> based discovery or some form of mgmt frame exchange.

I was thinking just pre-configure it as you have to anyway now?

johannes


2012-08-06 15:02:33

by Felix Fietkau

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On 2012-08-05 7:22 PM, Johannes Berg wrote:
> On Sun, 2012-08-05 at 19:21 +0200, Johannes Berg wrote:
>> On Sun, 2012-08-05 at 19:12 +0200, Felix Fietkau wrote:
>> > On 2012-07-30 3:36 PM, Johannes Berg wrote:
>> > > Ok so I'm chipping away at multi-channel operation, but WDS is
>> > > troubling. Which channel should it use? It doesn't even have channel
>> > > configuration today, but relies on having a channel already, but that
>> > > breaks when you have multi-channel since then it either has to have its
>> > > own channel or be slaved to another channel...
>> > >
>> > > Anyone have any ideas?
>> > Let's bind WDS interfaces to AP VIFs, then they can be slave to the AP's
>> > channel context. This is necessary for my yet-to-be-resubmitted WDS
>> > fixes anyway.
>>
>> For now I decided that drivers supporting the channel context APIs will
>> not be allowed to support WDS interfaces :-P
>> (and the code in WDS TX will simply take the global channel as before)
>>
>> So ... yes, I think this makes sense, but I'm not sure I care enough to
>> implement it right now, I have enough other things with multi-channel
>> still to do ... Though the question remains *how* we bind them. We could
>> try to match them by MAC address when they're brought up (and require
>> the same MAC address?), or do explicit binding, or something else
>> entirely ...
>>
>> If you're going to require them to be bound to an AP though, where's the
>> difference to the current 4-addr AP_VLAN behaviour? It seems with that
>> you could actually implement a bound-to-AP-WDS entirely in userspace
>> since there's no requirement to actually go through the auth/assoc
>> sequence for hostapd to add the station entry?
>
> Oh and if you actually do need WDS-type interfaces, maybe their role
> should change to be virtual like AP_VLAN-type interfaces?
The difference between WDS and 4-addr AP_VLAN is that WDS is AP<->AP,
not AP<->STA. I guess it would be possible to write some code to create
AP VLANs + station entries for remote APs based on cooked monitor mode
based discovery or some form of mgmt frame exchange.

- Felix

2012-08-05 17:22:07

by Johannes Berg

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On Sun, 2012-08-05 at 19:21 +0200, Johannes Berg wrote:
> On Sun, 2012-08-05 at 19:12 +0200, Felix Fietkau wrote:
> > On 2012-07-30 3:36 PM, Johannes Berg wrote:
> > > Ok so I'm chipping away at multi-channel operation, but WDS is
> > > troubling. Which channel should it use? It doesn't even have channel
> > > configuration today, but relies on having a channel already, but that
> > > breaks when you have multi-channel since then it either has to have its
> > > own channel or be slaved to another channel...
> > >
> > > Anyone have any ideas?
> > Let's bind WDS interfaces to AP VIFs, then they can be slave to the AP's
> > channel context. This is necessary for my yet-to-be-resubmitted WDS
> > fixes anyway.
>
> For now I decided that drivers supporting the channel context APIs will
> not be allowed to support WDS interfaces :-P
> (and the code in WDS TX will simply take the global channel as before)
>
> So ... yes, I think this makes sense, but I'm not sure I care enough to
> implement it right now, I have enough other things with multi-channel
> still to do ... Though the question remains *how* we bind them. We could
> try to match them by MAC address when they're brought up (and require
> the same MAC address?), or do explicit binding, or something else
> entirely ...
>
> If you're going to require them to be bound to an AP though, where's the
> difference to the current 4-addr AP_VLAN behaviour? It seems with that
> you could actually implement a bound-to-AP-WDS entirely in userspace
> since there's no requirement to actually go through the auth/assoc
> sequence for hostapd to add the station entry?

Oh and if you actually do need WDS-type interfaces, maybe their role
should change to be virtual like AP_VLAN-type interfaces?

johannes


2012-08-06 15:13:50

by Felix Fietkau

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On 2012-08-06 5:06 PM, Johannes Berg wrote:
> On Mon, 2012-08-06 at 17:02 +0200, Felix Fietkau wrote:
>
>> >> If you're going to require them to be bound to an AP though, where's the
>> >> difference to the current 4-addr AP_VLAN behaviour? It seems with that
>> >> you could actually implement a bound-to-AP-WDS entirely in userspace
>> >> since there's no requirement to actually go through the auth/assoc
>> >> sequence for hostapd to add the station entry?
>> >
>> > Oh and if you actually do need WDS-type interfaces, maybe their role
>> > should change to be virtual like AP_VLAN-type interfaces?
>
>> The difference between WDS and 4-addr AP_VLAN is that WDS is AP<->AP,
>> not AP<->STA. I guess it would be possible to write some code to create
>> AP VLANs + station entries for remote APs based on cooked monitor mode
>> based discovery or some form of mgmt frame exchange.
>
> I was thinking just pre-configure it as you have to anyway now?
Well, when creating station entries manually, it has to know the HT
capabilities, etc.
With my incomplete fixes (which are being used on OpenWrt), those are
automatically extracted from the remote AP's beacons, so that needs less
preconfiguration.

- Felix

2012-08-05 17:21:08

by Johannes Berg

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On Sun, 2012-08-05 at 19:12 +0200, Felix Fietkau wrote:
> On 2012-07-30 3:36 PM, Johannes Berg wrote:
> > Ok so I'm chipping away at multi-channel operation, but WDS is
> > troubling. Which channel should it use? It doesn't even have channel
> > configuration today, but relies on having a channel already, but that
> > breaks when you have multi-channel since then it either has to have its
> > own channel or be slaved to another channel...
> >
> > Anyone have any ideas?
> Let's bind WDS interfaces to AP VIFs, then they can be slave to the AP's
> channel context. This is necessary for my yet-to-be-resubmitted WDS
> fixes anyway.

For now I decided that drivers supporting the channel context APIs will
not be allowed to support WDS interfaces :-P
(and the code in WDS TX will simply take the global channel as before)

So ... yes, I think this makes sense, but I'm not sure I care enough to
implement it right now, I have enough other things with multi-channel
still to do ... Though the question remains *how* we bind them. We could
try to match them by MAC address when they're brought up (and require
the same MAC address?), or do explicit binding, or something else
entirely ...

If you're going to require them to be bound to an AP though, where's the
difference to the current 4-addr AP_VLAN behaviour? It seems with that
you could actually implement a bound-to-AP-WDS entirely in userspace
since there's no requirement to actually go through the auth/assoc
sequence for hostapd to add the station entry?

johannes


2012-08-05 17:12:35

by Felix Fietkau

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On 2012-07-30 3:36 PM, Johannes Berg wrote:
> Ok so I'm chipping away at multi-channel operation, but WDS is
> troubling. Which channel should it use? It doesn't even have channel
> configuration today, but relies on having a channel already, but that
> breaks when you have multi-channel since then it either has to have its
> own channel or be slaved to another channel...
>
> Anyone have any ideas?
Let's bind WDS interfaces to AP VIFs, then they can be slave to the AP's
channel context. This is necessary for my yet-to-be-resubmitted WDS
fixes anyway.

- Felix


2012-08-06 15:23:21

by Johannes Berg

[permalink] [raw]
Subject: Re: WDS vs. multi-channel operation

On Mon, 2012-08-06 at 17:13 +0200, Felix Fietkau wrote:
> On 2012-08-06 5:06 PM, Johannes Berg wrote:
> > On Mon, 2012-08-06 at 17:02 +0200, Felix Fietkau wrote:
> >
> >> >> If you're going to require them to be bound to an AP though, where's the
> >> >> difference to the current 4-addr AP_VLAN behaviour? It seems with that
> >> >> you could actually implement a bound-to-AP-WDS entirely in userspace
> >> >> since there's no requirement to actually go through the auth/assoc
> >> >> sequence for hostapd to add the station entry?
> >> >
> >> > Oh and if you actually do need WDS-type interfaces, maybe their role
> >> > should change to be virtual like AP_VLAN-type interfaces?
> >
> >> The difference between WDS and 4-addr AP_VLAN is that WDS is AP<->AP,
> >> not AP<->STA. I guess it would be possible to write some code to create
> >> AP VLANs + station entries for remote APs based on cooked monitor mode
> >> based discovery or some form of mgmt frame exchange.
> >
> > I was thinking just pre-configure it as you have to anyway now?
> Well, when creating station entries manually, it has to know the HT
> capabilities, etc.
> With my incomplete fixes (which are being used on OpenWrt), those are
> automatically extracted from the remote AP's beacons, so that needs less
> preconfiguration.

Ah yes, but hostapd could do that as well since it always receives OBSS
beacons (via cooked monitor or nl80211 beacon reporting)

Anyway, I don't mind WDS special interfaces, I just have a feeling we
might be better served by AP_VLAN since they're implicitly handled in
mac80211 and don't need driver support etc.

johannes