Date: Thu, 08 Sep 2005 14:03:22 -0700 From: Sam Leffler <sam@errno.com> To: Sebastien <sebastien.bourdeauducq@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: ieee80211_input() and fragmented mbufs Message-ID: <4320A71A.5060500@errno.com> In-Reply-To: <200509071954.17477.sebastien.bourdeauducq@gmail.com> References: <200509071954.17477.sebastien.bourdeauducq@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4320A71A.5060500>