mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
Map the packet QoS value to a TID before looking it up in the per node + TID AMPDU state array. The TX A-MPDU state used to be per-AC, but I changed it to be per-TID because it /is/ negotiated per-TID. However this is not aligned correctly and A-MPDU on eg the voice queue would cause a mismatch and thus packets to get dropped. (TIDs 8..15 are special and session based, not traffic QoS based.) I noticed this because "ssh host" failed after a while, but "telnet host 22" succeeded. It turned out that frames weren't making it to the driver transmit path and I traced it back to being dropped here. Traffic worked for a while until A-MPDU TX was negotiated, and then all traffic on a TID would fail until the 802.11 association was re-established. Locally tested: * iwn 6205, STA mode - forced traffic into VO AC/TID MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D60848