Author: adrian Date: Fri Jun 5 06:07:23 2020 New Revision: 361821 URL: https://svnweb.freebsd.org/changeset/base/361821
Log: [net80211] Add some TODOs around A-MSDU in A-MPDU negotiation. net80211 currently doesn't negotiate A-MSDU in A-MPDU during ADDBA. I've added the field in net80211 and this commit: * Prints out the ADDBA field value during ADDBA; * Adds some comments around where I need to follow up with some negotiation logic. Right now we don't have a driver flag anywhere which controls whether A-MSDU in A-MPDU is allowed. I know it works (I have it manually turned on at home on a couple test APs, heh!) but I can't flip it on until we can negotiate it. Tested: * AR9380, STA/AP mode, printing out ADDBA requests Modified: head/sys/net80211/ieee80211_ht.c Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Fri Jun 5 04:24:34 2020 (r361820) +++ head/sys/net80211/ieee80211_ht.c Fri Jun 5 06:07:23 2020 (r361821) @@ -2237,12 +2237,13 @@ ht_recv_action_ba_addba_request(struct ieee80211_node IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, "recv ADDBA request: dialogtoken %u baparamset 0x%x " - "(tid %d bufsiz %d) batimeout %d baseqctl %d:%d", + "(tid %d bufsiz %d) batimeout %d baseqctl %d:%d amsdu %d", dialogtoken, baparamset, tid, MS(baparamset, IEEE80211_BAPS_BUFSIZ), batimeout, MS(baseqctl, IEEE80211_BASEQ_START), - MS(baseqctl, IEEE80211_BASEQ_FRAG)); + MS(baseqctl, IEEE80211_BASEQ_FRAG), + MS(baparamset, IEEE80211_BAPS_AMSDU)); rap = &ni->ni_rx_ampdu[tid]; @@ -2274,6 +2275,7 @@ ht_recv_action_ba_addba_request(struct ieee80211_node | SM(tid, IEEE80211_BAPS_TID) | SM(rap->rxa_wnd, IEEE80211_BAPS_BUFSIZ) ; + /* XXX AMSDU in AMPDU? */ args[3] = 0; args[4] = 0; ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA, @@ -2346,6 +2348,8 @@ ht_recv_action_ba_addba_response(struct ieee80211_node return 0; } #endif + + /* XXX TODO: check AMSDU in AMPDU configuration */ IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, "recv ADDBA response: dialogtoken %u code %d " "baparamset 0x%x (tid %d bufsiz %d) batimeout %d", @@ -2506,6 +2510,8 @@ ieee80211_ampdu_request(struct ieee80211_node *ni, | SM(tid, IEEE80211_BAPS_TID) | SM(IEEE80211_AGGR_BAWMAX, IEEE80211_BAPS_BUFSIZ) ; + /* XXX TODO: check AMSDU in AMPDU configuration */ + args[3] = 0; /* batimeout */ /* NB: do first so there's no race against reply */ if (!ic->ic_addba_request(ni, tap, dialogtoken, args[2], args[3])) { _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"