net80211 - how the heck is M_FRAG (mbuf/net80211 fragments) supposed to work?

Adrian Chadd adrian at freebsd.org
Sun Feb 19 09:45:09 UTC 2012


On 17 February 2012 00:53, Adrian Chadd <adrian at freebsd.org> wrote:
> Hi,
>
> So ray@ pointed out that fragment handling in net80211 is broken. Yes,
> 802.11 fragments, not IP fragments. This is specific to ath, but any
> driver using IFQ_ENQUEUE/IFQ_DEQUEUE is likely broken.

After doing some digging, I stumbled across:


r190579 | sam | 2009-03-30 14:53:27 -0700 (Mon, 30 Mar 2009) | 25 lines

Hoist 802.11 encapsulation up into net80211:

o call ieee80211_encap in ieee80211_start so frames passed down to drivers
  are already encapsulated
o remove ieee80211_encap calls in drivers

...

So I wonder if fragment encapsulation was broken at this point? The
ath driver would've been able to decapsulate that list of fragment
frames and feed them one at a time to the fragment/TX side.



Adrian


More information about the freebsd-net mailing list