No reorder buffer?
denton.gentry at gmail.com
Tue Jun 24 07:47:35 PDT 2014
I'm bridging ath10k to Ethernet, gathering pcaps on another ath10k
system in monitor mode and on the Ethernet system which is receiving
the packets. I see packets being delivered out of order to the
Ethernet system. So far as I can tell, any packet which has to be
re-sent on the Wifi link will be delivered out of order to Ethernet.
I believe this happens because there is no reorder buffer.
ieee80211_rx_reorder_ampdu returns because tid_agg_rx[tid] is NULL.
I believe there is no reorder buffer because
ieee80211_process_addba_request is not being called.
ieee80211_process_addba_request would allocate tid_agg_rx[tid].
I believe ieee80211_process_addba_request is not being called because
the firmware processes the AddBA and does not pass it up. This is the
part I am least sure about.
Can anyone confirm or deny that this is correct: does the firmware
process the AddBA, but not have a reorder buffer in the firmware?
This is noticeable mostly because of Windows. The Windows TCP stack
seems to react more strongly to packet reordering (inferred via SACKs,
I guess), and slows down.
More information about the ath10k