No reorder buffer?
adrian at freebsd.org
Thu Jun 26 00:40:17 PDT 2014
.. and to confirm, the initial design of this is that yes, the
firmware is _supposed_ to be doing all of the RX reordering and the TX
aggregation/retransmission/BAR handling and powersave. As far as the
host stack is concerned, the design was supposed to offload as much of
the data pipeline processing as possible, handling only 802.11
negotiation, encryption setup/rekeying, etc.
But ath10k did change that because, and I'm fuzzy on the details,
there's various functionality that gets hidden from you when you're
running in the full offload mode.
So yes, if the MAC isn't configured in ethernet offload mode - if it's
in one of the monitor-ish wifi modes - then the NIC and firmware
aren't doing reordering and you'll have to do it on the host.
On 24 June 2014 07:47, Denton Gentry <denton.gentry at gmail.com> wrote:
> 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.
> ath10k mailing list
> ath10k at lists.infradead.org
More information about the ath10k