svn commit: r193708 - projects/mesh11s/sys/net80211

Rui Paulo rpaulo at FreeBSD.org
Mon Jun 8 11:24:24 UTC 2009


Author: rpaulo
Date: Mon Jun  8 11:24:23 2009
New Revision: 193708
URL: http://svn.freebsd.org/changeset/base/193708

Log:
  Accept from ds frames.
  
  Sponsored by:	The FreeBSD Foundation

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

Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_mesh.c	Mon Jun  8 11:21:09 2009	(r193707)
+++ projects/mesh11s/sys/net80211/ieee80211_mesh.c	Mon Jun  8 11:24:23 2009	(r193708)
@@ -282,6 +282,13 @@ mesh_input(struct ieee80211_node *ni, st
 			    "peer link not yet established (%s)",
 			    nodemeshstates[ni->ni_mlstate]);
 		}	
+		if (dir != IEEE80211_FC1_DIR_FROMDS &&
+		    dir != IEEE80211_FC1_DIR_DSTODS) {
+			IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT,
+			    wh, "data", "incorrect dir 0x%x", dir);
+			vap->iv_stats.is_rx_wrongdir++;
+			goto err;
+		}
 		/* NB: not ieee80211_hdrspace, datapad is not honored */
 		hdrlen = ieee80211_hdrsize(wh)
 		    + sizeof(struct ieee80211_meshcntl);
@@ -293,12 +300,6 @@ mesh_input(struct ieee80211_node *ni, st
 			vap->iv_stats.is_rx_tooshort++;
 			goto out;		/* XXX */
 		}
-		if (dir != IEEE80211_FC1_DIR_DSTODS) {
-			IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT,
-			    wh, "data", "incorrect dir 0x%x", dir);
-			vap->iv_stats.is_rx_wrongdir++;
-			goto err;
-		}
 		/*
 		 * Save QoS bits for use below--before we strip the header.
 		 */


More information about the svn-src-projects mailing list