From owner-freebsd-hackers@FreeBSD.ORG Wed Sep 7 17:53:17 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DE3BA16A41F for ; Wed, 7 Sep 2005 17:53:17 +0000 (GMT) (envelope-from sebastien.bourdeauducq@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.197]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C10643D45 for ; Wed, 7 Sep 2005 17:53:17 +0000 (GMT) (envelope-from sebastien.bourdeauducq@gmail.com) Received: by wproxy.gmail.com with SMTP id 36so1443378wra for ; Wed, 07 Sep 2005 10:53:16 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=NEcYtQhbC4gU8fHMQEIRwt4L8jjJLRE32RzKkmc0ulA9Ja8KSWFAn0nsUBexj512QVZZu/RB7W9H83G40Yiw08aRpzkvPkFAed7owU6VflxQTF+bEQCzETaHyPAX6/1IyRDBwixxAFHCwld8Ia+dwlhRkvu6/kAhTpum0dwWsak= Received: by 10.54.8.6 with SMTP id 6mr298726wrh; Wed, 07 Sep 2005 10:53:16 -0700 (PDT) Received: from ?192.168.32.1? ( [82.231.252.157]) by mx.gmail.com with ESMTP id 6sm72377wrl.2005.09.07.10.53.15; Wed, 07 Sep 2005 10:53:16 -0700 (PDT) From: Sebastien To: freebsd-hackers@freebsd.org Date: Wed, 7 Sep 2005 19:54:16 +0200 User-Agent: KMail/1.8 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200509071954.17477.sebastien.bourdeauducq@gmail.com> Subject: ieee80211_input() and fragmented mbufs X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2005 17:53:18 -0000 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 ? Regards, Sebastien