Page MenuHomeFreeBSD

rtwn: set M_AMPDU on received frames on 11n and later stations
AbandonedPublic

Authored by adrian on Nov 10 2024, 5:19 AM.
Referenced Files
F106159828: D47504.id146232.diff
Thu, Dec 26, 9:15 AM
F106157992: D47504.id.diff
Thu, Dec 26, 8:32 AM
F106153134: D47504.id146231.diff
Thu, Dec 26, 6:43 AM
Unknown Object (File)
Wed, Dec 25, 9:42 AM
Unknown Object (File)
Thu, Dec 19, 2:07 PM
Unknown Object (File)
Wed, Dec 18, 4:34 PM
Unknown Object (File)
Mon, Dec 9, 6:32 PM
Unknown Object (File)
Mon, Dec 9, 12:32 PM
Subscribers

Details

Reviewers
emaste
bz
Group Reviewers
wireless
Summary
  • the driver is configured to announce 11n AMPDU TX/RX;
  • the firmware is happily doing A-MPDU de-aggregation for us;
  • but since we aren't tagging the frames as A-MPDU in the receive path, it won't ever go through the RX reorder path!

This leads to some pretty terrible out of order receive behaviour
leading to a lot of receive frame drops.

Receive traffic now behaves a /lot/ better now that AMPDU RX is enabled.

Local testing:

  • RTL8811AU, USB NIC, STA mode

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 60478
Build 57362: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Nov 10 2024, 3:49 PM
bz requested changes to this revision.Nov 10 2024, 6:33 PM
bz added a subscriber: bz.
bz added inline comments.
sys/dev/rtwn/pci/rtwn_pci_rx.c
165

rtwn_rx_common() from a few lines above does that already.

sys/dev/rtwn/usb/rtwn_usb_rx.c
415

rtwn_rx_common() via rtwn_rx_frame() a few lines above does that already.

This revision now requires changes to proceed.Nov 10 2024, 6:33 PM

oh, good catch!

weird, i wonder why i saw the behaviour change. lemme dig into it a bit, thanks.

ok, something else is going on, stay tuned