tests: Disable HT in ibss_rsn to avoid a strange issue with mac80211

When fixing the TK clearing on Authentication frame RX, an issue in
getting unicast frames through after re-joining the IBSS was hit. It is
not exactly clear why this happens, but the unicast frame from the STA
that re-joined the network gets lost in the frame reorder buffer of the
STA that remains in the network.

For now, this disables HT to avoid a strange issue with mac80211
frame reordering during the final test_connectivity() call. Once that is
figured out, these disable_ht=1 calls should be removed from the test
case.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2017-01-14 13:54:02 +02:00
parent f38de833e1
commit c5420f9c92

View file

@ -99,12 +99,18 @@ def test_ibss_rsn(dev):
logger.info("Start IBSS on the first STA")
id = add_ibss_rsn(dev[0], ssid)
# FIX: For now, this disables HT to avoid a strange issue with mac80211
# frame reordering during the final test_connectivity() call. Once that is
# figured out, these disable_ht=1 calls should be removed from the test
# case.
dev[0].set_network(id, "disable_ht", "1")
connect_ibss_cmd(dev[0], id)
bssid0 = wait_ibss_connection(dev[0])
logger.info("Join two STAs to the IBSS")
id = add_ibss_rsn(dev[1], ssid)
dev[1].set_network(id, "disable_ht", "1")
connect_ibss_cmd(dev[1], id)
bssid1 = wait_ibss_connection(dev[1])
if bssid0 != bssid1:
@ -133,6 +139,7 @@ def test_ibss_rsn(dev):
dev[1].request("REMOVE_NETWORK all")
time.sleep(1)
id = add_ibss_rsn(dev[1], ssid)
dev[1].set_network(id, "disable_ht", "1")
connect_ibss_cmd(dev[1], id)
bssid1 = wait_ibss_connection(dev[1])
if bssid0 != bssid1: