ieee80211_input() and fragmented mbufs
Sam Leffler
sam at errno.com
Thu Sep 8 13:56:20 PDT 2005
Sebastien wrote:
> Hello,
> I'm passing ieee80211_input() heavily fragmented mbuf chains and it makes (at
> least) the function fail to parse beacons correctly. I have the
> "ieee80211_recv_mgmt: no ratesin beacon frame" message, and it makes the
> driver unable to scan for networks (always return no results).
> Defragmenting the mbuf before passing it to ieee80211_input() works around the
> problem. Moreover, in monitor mode, the frames are sent correctly in
> userland, regardless the fragmentation of the mbufs.
> Is it a bug in ieee80211_input(), or should certain types of frames, such as
> beacons, not be contained in fragmented mbufs ?
ieee80211_input (implicitly) assumes the 802.11 header is contiguous on
entry. Since most drivers use dma into mbuf clusters to recv frames
this has never been an issue (others like wi dtrt from what I remember).
Sam
More information about the freebsd-hackers
mailing list