On Tue, Jan 15 2019 10:30:47 +0100, Stefan Sperling wrote: > Turns out we need to allow "no data" frames to pass a bit further into > ieee80211_input() because they carry sequence numbers and because they > are used to toggle power-saving state via IEEE80211_FC1_PWR_MGT in the > frame header. > > I've checked what Linux mac80211 does -- it ignores "no data" frames > for A-MPDU reordering like we already did (good!), but it drops them > right before decryption. So your original diff was actually correct, > apart from the memory leak ;-)
oh, heh :) > Does this diff work? You should now be able to see 'no data' frames > on your AP with 'tcpdump -n -i athn0 -y IEEE802_11_RADIO' as well. indeed it does - iperf connection works again and pings aren't lost. and nodata frames are visible with tcpdump. I notice this diff doesn't increment a counter for the nodata frames anymore, but that seems reasonable since we are indeed using them for something, not ignoring them completely. -- Lauri Tirkkonen | lotheac @ IRCnet