PERFORCE change 127889 for review

Marko Zec zec at FreeBSD.org
Sun Oct 21 06:06:31 PDT 2007


http://perforce.freebsd.org/chv.cgi?CH=127889

Change 127889 by zec at zec_tpx32 on 2007/10/21 13:05:36

	Prevent benign yet annoying vnet stacking messages from
	being printed on console on 802.11 ifnet state changes.

Affected files ...

.. //depot/projects/vimage/src/sys/net/rtsock.c#10 edit
.. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#5 edit

Differences ...

==== //depot/projects/vimage/src/sys/net/rtsock.c#10 (text+ko) ====

@@ -1036,9 +1036,7 @@
 		if (m->m_flags & M_PKTHDR)
 			m->m_pkthdr.len += data_len;
 		mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len;
-		CURVNET_SET(ifp->if_vnet);
 		rt_dispatch(m, NULL);
-		CURVNET_RESTORE();
 	}
 }
 

==== //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#5 (text+ko) ====

@@ -26,6 +26,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_freebsd.c,v 1.16 2007/08/26 11:32:56 sephe Exp $");
 
+#include "opt_vimage.h"
+
 /*
  * IEEE 802.11 support (FreeBSD-specific code)
  */
@@ -37,8 +39,8 @@
 #include <sys/module.h>
 #include <sys/proc.h>
 #include <sys/sysctl.h>
-
 #include <sys/socket.h>
+#include <sys/vimage.h>
 
 #include <net/if.h>
 #include <net/if_media.h>
@@ -275,6 +277,7 @@
 	struct ifnet *ifp = ic->ic_ifp;
 	struct ieee80211_join_event iev;
 
+	CURVNET_SET(ifp->if_vnet);
 	memset(&iev, 0, sizeof(iev));
 	if (ni == ic->ic_bss) {
 		IEEE80211_ADDR_COPY(iev.iev_addr, ni->ni_bssid);
@@ -288,6 +291,7 @@
 			RTM_IEEE80211_JOIN : RTM_IEEE80211_REJOIN,
 			&iev, sizeof(iev));
 	}
+	CURVNET_RESTORE();
 }
 
 void
@@ -296,6 +300,7 @@
 	struct ifnet *ifp = ic->ic_ifp;
 	struct ieee80211_leave_event iev;
 
+	CURVNET_SET_QUIET(ifp->if_vnet);
 	if (ni == ic->ic_bss) {
 		rt_ieee80211msg(ifp, RTM_IEEE80211_DISASSOC, NULL, 0);
 		if_link_state_change(ifp, LINK_STATE_DOWN);
@@ -305,6 +310,7 @@
 		IEEE80211_ADDR_COPY(iev.iev_addr, ni->ni_macaddr);
 		rt_ieee80211msg(ifp, RTM_IEEE80211_LEAVE, &iev, sizeof(iev));
 	}
+	CURVNET_RESTORE();
 }
 
 void
@@ -315,7 +321,9 @@
 	IEEE80211_DPRINTF(ic, IEEE80211_MSG_SCAN, "%s\n", "notify scan done");
 
 	/* dispatch wireless event indicating scan completed */
+	CURVNET_SET(ifp->if_vnet);
 	rt_ieee80211msg(ifp, RTM_IEEE80211_SCAN, NULL, 0);
+	CURVNET_RESTORE();
 }
 
 void
@@ -343,7 +351,9 @@
 			iev.iev_keyix = k->wk_keyix;
 		iev.iev_keyrsc = k->wk_keyrsc;
 		iev.iev_rsc = rsc;
+		CURVNET_SET(ifp->if_vnet);
 		rt_ieee80211msg(ifp, RTM_IEEE80211_REPLAY, &iev, sizeof(iev));
+		CURVNET_RESTORE();
 	}
 }
 
@@ -365,7 +375,9 @@
 		IEEE80211_ADDR_COPY(iev.iev_src, wh->i_addr2);
 		iev.iev_cipher = IEEE80211_CIPHER_TKIP;
 		iev.iev_keyix = keyix;
+		CURVNET_SET(ifp->if_vnet);
 		rt_ieee80211msg(ifp, RTM_IEEE80211_MICHAEL, &iev, sizeof(iev));
+		CURVNET_RESTORE();
 	}
 }
 


More information about the p4-projects mailing list