Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jun 2009 11:21:10 +0000 (UTC)
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r193707 - projects/mesh11s/sys/net80211
Message-ID:  <200906081121.n58BLAmN027868@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rpaulo
Date: Mon Jun  8 11:21:09 2009
New Revision: 193707
URL: http://svn.freebsd.org/changeset/base/193707

Log:
  Rework decap() to accomodate space for all AE bits.
  
  Idea by:	sam
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/mesh11s/sys/net80211/ieee80211_input.c

Modified: projects/mesh11s/sys/net80211/ieee80211_input.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_input.c	Mon Jun  8 11:18:05 2009	(r193706)
+++ projects/mesh11s/sys/net80211/ieee80211_input.c	Mon Jun  8 11:21:09 2009	(r193707)
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
 
 #include <net80211/ieee80211_var.h>
 #include <net80211/ieee80211_input.h>
+#include <net80211/ieee80211_mesh.h>
 
 #include <net/bpf.h>
 
@@ -225,7 +226,12 @@ ieee80211_deliver_data(struct ieee80211v
 struct mbuf *
 ieee80211_decap(struct ieee80211vap *vap, struct mbuf *m, int hdrlen)
 {
-	struct ieee80211_meshframe wh;	/* Max size address frames */
+	union {
+		struct ieee80211_qosframe_addr4 wh4;
+		uint8_t b[sizeof(struct ieee80211_qosframe_addr4) +
+			  sizeof(struct ieee80211_meshcntl_ae11)];
+	} whu;
+#define	wh	whu.wh4
 	struct ether_header *eh;
 	struct llc *llc;
 
@@ -322,6 +328,7 @@ ieee80211_decap(struct ieee80211vap *vap
 		eh->ether_type = htons(m->m_pkthdr.len - sizeof(*eh));
 	}
 	return m;
+#undef	wh
 }
 
 /*



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