Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2008 21:33:11 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 146161 for review
Message-ID:  <200807282133.m6SLXB8S089108@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=146161

Change 146161 by sam@sam_ebb on 2008/07/28 21:33:05

	correct decap of of AppleTalk and IPX frames; don't strip the SNAP
	header as they have one natively
	Submitted by:	Chris Zimmermann

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211_input.c#31 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211_input.c#31 (text+ko) ====

@@ -239,7 +239,10 @@
 	llc = (struct llc *)(mtod(m, caddr_t) + hdrlen);
 	if (llc->llc_dsap == LLC_SNAP_LSAP && llc->llc_ssap == LLC_SNAP_LSAP &&
 	    llc->llc_control == LLC_UI && llc->llc_snap.org_code[0] == 0 &&
-	    llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0) {
+	    llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0 &&
+	    /* NB: preserve AppleTalk frames that have a native SNAP hdr */
+	    !(llc->llc_snap.ether_type == htons(ETHERTYPE_AARP) ||
+	      llc->llc_snap.ether_type == htons(ETHERTYPE_IPX))) {
 		m_adj(m, hdrlen + sizeof(struct llc) - sizeof(*eh));
 		llc = NULL;
 	} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807282133.m6SLXB8S089108>