From owner-p4-projects@FreeBSD.ORG Thu May 17 09:27:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2895216A405; Thu, 17 May 2007 09:27:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DFAC916A402; Thu, 17 May 2007 09:27:55 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe05.swip.net [212.247.154.129]) by mx1.freebsd.org (Postfix) with ESMTP id 522A513C455; Thu, 17 May 2007 09:27:55 +0000 (UTC) (envelope-from hselasky@freebsd.org) X-Cloudmark-Score: 0.000000 [] Received: from [82.116.76.134] (account mc467741@c2i.net HELO [192.168.1.106]) by mailfe05.swip.net (CommuniGate Pro SMTP 5.1.7) with ESMTPA id 391762318; Thu, 17 May 2007 10:27:52 +0200 From: Hans Petter Selasky To: Sepherosa Ziehau Date: Thu, 17 May 2007 10:27:40 +0200 User-Agent: KMail/1.9.5 References: <200705151133.l4FBXE1F006105@repoman.freebsd.org> In-Reply-To: <200705151133.l4FBXE1F006105@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200705171027.40294.hselasky@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 119878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 May 2007 09:27:56 -0000 Hi, 1) Maybe you should bump __FreeBSD_version when this is introduced into HEAD. 2) Are you sure that you want to do this? If you look at the implementation of "m_adj()" for a negative number it is not too efficient. With regard to "if_ural.c" it is faster to remove those bytes at an earlier point. And then just never set M_HASFCS at all. --HPS > > ==== //depot/projects/wifi/sys/dev/usb/if_ural.c#25 (text+ko) ==== > > @@ -939,7 +939,6 @@ > /* finalize mbuf */ > m->m_pkthdr.rcvif = ifp; > m->m_pkthdr.len = m->m_len = (le32toh(desc->flags) >> 16) & 0xfff; > - m->m_flags |= M_HASFCS; /* h/w leaves FCS */ > > if (bpf_peers_present(sc->sc_drvbpf)) { > struct ural_rx_radiotap_header *tap = &sc->sc_rxtap; > @@ -954,6 +953,9 @@ > bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_rxtap_len, m); > } > > + /* Strip trailing 802.11 MAC FCS. */ > + m_adj(m, -IEEE80211_CRC_LEN); > + > wh = mtod(m, struct ieee80211_frame *); > ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh); > > --HPS