Message ID | 1534423635-28222-1-git-send-email-murugana@codeaurora.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
Series | mac80211: WFA Multi-AP backhaul STA Rx requirement | expand |
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
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. .. > > 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. This patch implements the Rx requirement (ii) of receiving unicast 3-addr frames in addition to 4-addr format frames. Thanks, Sathishkumar
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
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
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.
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; }
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(-)