All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
@ 2018-08-16 12:47 Sathishkumar Muruganandam
  2018-08-28  9:58 ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: Sathishkumar Muruganandam @ 2018-08-16 12:47 UTC (permalink / raw)
  To: linux-wireless; +Cc: Sathishkumar Muruganandam

The current mac80211 WDS (4-address mode) can be used to cover most of the 
Multi-AP requirements for Data frames per the WFA Multi-AP Specification v1.0.
When configuring AP/STA interfaces in 4-address mode, they are able to function 
as fronthaul AP/backhaul STA of Multi-AP device complying below 
Tx, Rx requirements except one STA Rx requirement.

Multi-AP specification section 14.1 describes the following requirements:

Transmitter requirements
------------------------
1. Fronthaul AP
        i) When DA!=RA of backhaul STA, must use 4-address format
        ii) When DA==RA of backhaul STA, shall use either 3-address
            or 4-address format with RA updated with STA MAC

            (mac80211 support 4-address format via AP/VLAN interface)

2. Backhaul STA
        i) When SA!=TA of backhaul STA, must use 4-address format
        ii) When SA==TA of backhaul STA, shall use either 3-address
            or 4-address format with RA updated with AP MAC

            (mac80211 support 4-address format via use_4addr)

Receiver requirements
---------------------
1. Fronthaul AP
        i) When SA!=TA of backhaul STA, must support receiving 4-address
           format frames
        ii) When SA==TA of backhaul STA, must support receiving both
            3-address and 4-address format frames

            (mac80211 support both 3-addr & 4-addr via AP/VLAN interface)

2. Backhaul STA
        i) When DA!=RA of backhaul STA, must support receiving 4-address
           format frames
        ii) When DA==RA of backhaul STA,  must support receiving both
            3-address and 4-address format frames

            (mac80211 support only receiving 4-address format via
             use_4addr)

This patch addresses the above Rx requirement (ii) for backhaul STA.

The current design doesn't accept 3-address frames when configured in 4-address
mode (use_4addr). Hence add a check to allow 3-address frames when DA==RA of
backhaul STA (adhering to Table 9-26 of IEEE Std 802.11™-2016).

This case was tested with a bridged station interface when associated with
a non-mac80211 based vendor AP implementation using 3-address frames for WDS.

STA was able to support the Multi-AP Rx requirement when DA==RA. No issues,
no loops seen when tested with mac80211 based AP as well.

Verified and confirmed all other Tx and Rx requirements of AP and STA for 
Multi-AP respectively. They all work using the current mac80211-WDS design.

Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
---
 net/mac80211/rx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index a16ba568e2a3..686e5586e1f4 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2313,7 +2313,7 @@ __ieee80211_data_to_8023(struct ieee80211_rx_data *rx, bool *port_control)
 
 		if (!sdata->u.mgd.use_4addr)
 			return -1;
-		else
+		else if (!ether_addr_equal(hdr->addr1, sdata->vif.addr))
 			check_port_control = true;
 	}
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
  2018-08-16 12:47 [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement Sathishkumar Muruganandam
@ 2018-08-28  9:58 ` Johannes Berg
  2018-08-28 11:52   ` murugana
  2018-08-28 11:53   ` Felix Fietkau
  0 siblings, 2 replies; 6+ messages in thread
From: Johannes Berg @ 2018-08-28  9:58 UTC (permalink / raw)
  To: Sathishkumar Muruganandam, linux-wireless; +Cc: Felix Fietkau

Hmm. The subject/patch title isn't very clear - does it *implement* this
requirement? Or do something else with it? Please clarify.

On Thu, 2018-08-16 at 18:17 +0530, Sathishkumar Muruganandam wrote:
> The current mac80211 WDS (4-address mode) can be used to cover most of the 
> Multi-AP requirements for Data frames per the WFA Multi-AP Specification v1.0.

Be more clear here please - I think you don't mean WDS
(NL80211_IF_TYPE_WDS) but the - currently for all I know Linux-specific
- 4-addr mode of AP/client interfaces?

> When configuring AP/STA interfaces in 4-address mode, they are able to function 
> as fronthaul AP/backhaul STA of Multi-AP device complying below 
> Tx, Rx requirements except one STA Rx requirement.
> 
> Multi-AP specification section 14.1 describes the following requirements:
> 
> Transmitter requirements
> ------------------------
> 1. Fronthaul AP
>         i) When DA!=RA of backhaul STA, must use 4-address format
>         ii) When DA==RA of backhaul STA, shall use either 3-address
>             or 4-address format with RA updated with STA MAC
> 
>             (mac80211 support 4-address format via AP/VLAN interface)
> 
> 2. Backhaul STA
>         i) When SA!=TA of backhaul STA, must use 4-address format
>         ii) When SA==TA of backhaul STA, shall use either 3-address
>             or 4-address format with RA updated with AP MAC
> 
>             (mac80211 support 4-address format via use_4addr)
> 
> Receiver requirements
> ---------------------
> 1. Fronthaul AP
>         i) When SA!=TA of backhaul STA, must support receiving 4-address
>            format frames
>         ii) When SA==TA of backhaul STA, must support receiving both
>             3-address and 4-address format frames
> 
>             (mac80211 support both 3-addr & 4-addr via AP/VLAN interface)
> 
> 2. Backhaul STA
>         i) When DA!=RA of backhaul STA, must support receiving 4-address
>            format frames
>         ii) When DA==RA of backhaul STA,  must support receiving both
>             3-address and 4-address format frames
> 
>             (mac80211 support only receiving 4-address format via
>              use_4addr)
> 
> This patch addresses the above Rx requirement (ii) for backhaul STA.
> 
> The current design doesn't accept 3-address frames when configured in 4-address
> mode (use_4addr). Hence add a check to allow 3-address frames when DA==RA of
> backhaul STA (adhering to Table 9-26 of IEEE Std 802.11™-2016).
> 
> This case was tested with a bridged station interface when associated with
> a non-mac80211 based vendor AP implementation using 3-address frames for WDS.
> 
> STA was able to support the Multi-AP Rx requirement when DA==RA. No issues,
> no loops seen when tested with mac80211 based AP as well.
> 
> Verified and confirmed all other Tx and Rx requirements of AP and STA for 
> Multi-AP respectively. They all work using the current mac80211-WDS design.

Ok.

> Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
> ---
>  net/mac80211/rx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index a16ba568e2a3..686e5586e1f4 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -2313,7 +2313,7 @@ __ieee80211_data_to_8023(struct ieee80211_rx_data *rx, bool *port_control)
>  
>  		if (!sdata->u.mgd.use_4addr)
>  			return -1;
> -		else
> +		else if (!ether_addr_equal(hdr->addr1, sdata->vif.addr))
>  			check_port_control = true;

I guess I have no objection to this. Felix?

johannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
  2018-08-28  9:58 ` Johannes Berg
@ 2018-08-28 11:52   ` murugana
  2018-08-28 11:55     ` Johannes Berg
  2018-08-28 11:53   ` Felix Fietkau
  1 sibling, 1 reply; 6+ messages in thread
From: murugana @ 2018-08-28 11:52 UTC (permalink / raw)
  To: 'Johannes Berg', linux-wireless; +Cc: 'Felix Fietkau'

Hi Johannes,

> Hmm. The subject/patch title isn't very clear - does it *implement* =
this
> requirement? Or do something else with it? Please clarify.
>=20

Yes, this patch implements the missing Rx requirement (ii) for backhaul =
STA
below.
..

> > Receiver requirements
> > ---------------------
> > 1. Fronthaul AP
> >         i) When SA!=3DTA of backhaul STA, must support receiving =
4-address
> >            format frames
> >         ii) When SA=3D=3DTA of backhaul STA, must support receiving =
both
> >             3-address and 4-address format frames
> >
> >             (mac80211 support both 3-addr & 4-addr via AP/VLAN
> > interface)
> >
> > 2. Backhaul STA
> >         i) When DA!=3DRA of backhaul STA, must support receiving =
4-address
> >            format frames
> >         ii) When DA=3D=3DRA of backhaul STA,  must support receiving =
both
> >             3-address and 4-address format frames
> >
> >             (mac80211 support only receiving 4-address format via
> >              use_4addr)
> >
> > This patch addresses the above Rx requirement (ii) for backhaul STA.

This patch implements the Rx requirement (ii) of receiving unicast =
3-addr frames in
addition to 4-addr format frames.

Thanks,
Sathishkumar

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
  2018-08-28  9:58 ` Johannes Berg
  2018-08-28 11:52   ` murugana
@ 2018-08-28 11:53   ` Felix Fietkau
  1 sibling, 0 replies; 6+ messages in thread
From: Felix Fietkau @ 2018-08-28 11:53 UTC (permalink / raw)
  To: Johannes Berg, Sathishkumar Muruganandam, linux-wireless

On 2018-08-28 11:58, Johannes Berg wrote:
>> ---
>>  net/mac80211/rx.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
>> index a16ba568e2a3..686e5586e1f4 100644
>> --- a/net/mac80211/rx.c
>> +++ b/net/mac80211/rx.c
>> @@ -2313,7 +2313,7 @@ __ieee80211_data_to_8023(struct ieee80211_rx_data *rx, bool *port_control)
>>  
>>  		if (!sdata->u.mgd.use_4addr)
>>  			return -1;
>> -		else
>> +		else if (!ether_addr_equal(hdr->addr1, sdata->vif.addr))
>>  			check_port_control = true;
> 
> I guess I have no objection to this. Felix?
No objection from me.

- Felix

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
  2018-08-28 11:52   ` murugana
@ 2018-08-28 11:55     ` Johannes Berg
  2018-08-28 12:24       ` Sathishkumar Muruganandam
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2018-08-28 11:55 UTC (permalink / raw)
  To: murugana, linux-wireless; +Cc: 'Felix Fietkau'

On Tue, 2018-08-28 at 17:22 +0530, murugana@codeaurora.org wrote:
> Hi Johannes,
> 
> > Hmm. The subject/patch title isn't very clear - does it *implement* this
> > requirement? Or do something else with it? Please clarify.
> > 
> 
> Yes, this patch implements the missing Rx requirement (ii) for backhaul STA
> below.
> 
Right. Can you clean up the commit log a bit and in particular clarify
the subject please?

johannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement
  2018-08-28 11:55     ` Johannes Berg
@ 2018-08-28 12:24       ` Sathishkumar Muruganandam
  0 siblings, 0 replies; 6+ messages in thread
From: Sathishkumar Muruganandam @ 2018-08-28 12:24 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, 'Felix Fietkau'

On 2018-08-28 17:25, Johannes Berg wrote:
> On Tue, 2018-08-28 at 17:22 +0530, murugana@codeaurora.org wrote:
>> Hi Johannes,
>> 
>> > Hmm. The subject/patch title isn't very clear - does it *implement* this
>> > requirement? Or do something else with it? Please clarify.
>> >
>> 
>> Yes, this patch implements the missing Rx requirement (ii) for 
>> backhaul STA
>> below.
>> 
> Right. Can you clean up the commit log a bit and in particular clarify
> the subject please?

Sure, Johannes. Please check my patch v2, mac80211: add missing WFA 
Multi-AP
backhaul STA Rx requirement.

-- 
Thanks,
Sathishkumar

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-28 16:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-16 12:47 [PATCH] mac80211: WFA Multi-AP backhaul STA Rx requirement Sathishkumar Muruganandam
2018-08-28  9:58 ` Johannes Berg
2018-08-28 11:52   ` murugana
2018-08-28 11:55     ` Johannes Berg
2018-08-28 12:24       ` Sathishkumar Muruganandam
2018-08-28 11:53   ` Felix Fietkau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.