Date: Thu, 17 May 2007 10:27:40 +0200 From: Hans Petter Selasky <hselasky@freebsd.org> To: Sepherosa Ziehau <sephe@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 119878 for review Message-ID: <200705171027.40294.hselasky@freebsd.org> In-Reply-To: <200705151133.l4FBXE1F006105@repoman.freebsd.org> References: <200705151133.l4FBXE1F006105@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705171027.40294.hselasky>
