Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Feb 2011 16:21:09 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r218809 - projects/pf/pf45/sys/contrib/pf/net
Message-ID:  <201102181621.p1IGL9Gi064164@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Fri Feb 18 16:21:09 2011
New Revision: 218809
URL: http://svn.freebsd.org/changeset/base/218809

Log:
  V_irtulize pfsyncstats (and minor other V_correction).
  Note: the sysctl handler function stays "notyet" so far.

Modified:
  projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c

Modified: projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c
==============================================================================
--- projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c	Fri Feb 18 16:13:59 2011	(r218808)
+++ projects/pf/pf45/sys/contrib/pf/net/if_pfsync.c	Fri Feb 18 16:21:09 2011	(r218809)
@@ -301,18 +301,17 @@ struct pfsync_softc {
 #ifndef __FreeBSD__
 struct pfsync_softc	*pfsyncif = NULL;
 struct pfsyncstats	 pfsyncstats;
+#define	V_pfsyncstats	 pfsyncstats
 #endif
 #ifdef __FreeBSD__
 VNET_DEFINE(struct pfsync_softc	*, pfsyncif) = NULL;
 #define	V_pfsyncif	VNET(pfsyncif)
 VNET_DEFINE(struct pfsyncstats, pfsyncstats);
 #define	V_pfsyncstats	VNET(pfsyncstats)
-#ifdef notyet
-SYSCTL_DECL(_net_inet_pfsync);
-SYSCTL_STRUCT(_net_inet_pfsync, 0, stats, CTLFLAG_RW,
-    &pfsyncstats, pfsyncstats,
+SYSCTL_DECL(_net_pfsync);
+SYSCTL_VNET_STRUCT(_net_pfsync, 0, stats, CTLFLAG_RW,
+    &VNET_NAME(pfsyncstats), pfsyncstats,
     "PFSYNC statistics (struct pfsyncstats, net/if_pfsync.h)");
-#endif
 
 static void	pfsyncintr(void *);
 struct pfsync_swi {
@@ -910,7 +909,7 @@ pfsync_input(struct mbuf *m, ...)
 	int offset;
 	int rv;
 
-	pfsyncstats.pfsyncs_ipackets++;
+	V_pfsyncstats.pfsyncs_ipackets++;
 
 	/* verify that we have a sync interface configured */
 #ifdef __FreeBSD__
@@ -922,7 +921,7 @@ pfsync_input(struct mbuf *m, ...)
 
 	/* verify that the packet came in on the right interface */
 	if (sc->sc_sync_if != m->m_pkthdr.rcvif) {
-		pfsyncstats.pfsyncs_badif++;
+		V_pfsyncstats.pfsyncs_badif++;
 		goto done;
 	}
 
@@ -935,19 +934,19 @@ pfsync_input(struct mbuf *m, ...)
 #endif
 	/* verify that the IP TTL is 255. */
 	if (ip->ip_ttl != PFSYNC_DFLTTL) {
-		pfsyncstats.pfsyncs_badttl++;
+		V_pfsyncstats.pfsyncs_badttl++;
 		goto done;
 	}
 
 	offset = ip->ip_hl << 2;
 	if (m->m_pkthdr.len < offset + sizeof(*ph)) {
-		pfsyncstats.pfsyncs_hdrops++;
+		V_pfsyncstats.pfsyncs_hdrops++;
 		goto done;
 	}
 
 	if (offset + sizeof(*ph) > m->m_len) {
 		if (m_pullup(m, offset + sizeof(*ph)) == NULL) {
-			pfsyncstats.pfsyncs_hdrops++;
+			V_pfsyncstats.pfsyncs_hdrops++;
 			return;
 		}
 		ip = mtod(m, struct ip *);
@@ -956,7 +955,7 @@ pfsync_input(struct mbuf *m, ...)
 
 	/* verify the version */
 	if (ph->version != PFSYNC_VERSION) {
-		pfsyncstats.pfsyncs_badver++;
+		V_pfsyncstats.pfsyncs_badver++;
 		goto done;
 	}
 
@@ -985,7 +984,7 @@ pfsync_input(struct mbuf *m, ...)
 		offset += sizeof(subh);
 
 		if (subh.action >= PFSYNC_ACT_MAX) {
-			pfsyncstats.pfsyncs_badact++;
+			V_pfsyncstats.pfsyncs_badact++;
 			goto done;
 		}
 
@@ -1017,7 +1016,7 @@ pfsync_in_clr(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	clr = (struct pfsync_clr *)(mp->m_data + offp);
@@ -1091,7 +1090,7 @@ pfsync_in_ins(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	sa = (struct pfsync_state *)(mp->m_data + offp);
@@ -1117,7 +1116,7 @@ pfsync_in_ins(struct pfsync_pkt *pkt, st
 				printf("pfsync_input: PFSYNC5_ACT_INS: "
 				    "invalid value\n");
 			}
-			pfsyncstats.pfsyncs_badval++;
+			V_pfsyncstats.pfsyncs_badval++;
 			continue;
 		}
 
@@ -1148,7 +1147,7 @@ pfsync_in_iack(struct pfsync_pkt *pkt, s
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	iaa = (struct pfsync_ins_ack *)(mp->m_data + offp);
@@ -1232,7 +1231,7 @@ pfsync_in_upd(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	sa = (struct pfsync_state *)(mp->m_data + offp);
@@ -1256,7 +1255,7 @@ pfsync_in_upd(struct pfsync_pkt *pkt, st
 				printf("pfsync_input: PFSYNC_ACT_UPD: "
 				    "invalid value\n");
 			}
-			pfsyncstats.pfsyncs_badval++;
+			V_pfsyncstats.pfsyncs_badval++;
 			continue;
 		}
 
@@ -1267,7 +1266,7 @@ pfsync_in_upd(struct pfsync_pkt *pkt, st
 		if (st == NULL) {
 			/* insert the update */
 			if (pfsync_state_import(sp, 0))
-				pfsyncstats.pfsyncs_badstate++;
+				V_pfsyncstats.pfsyncs_badstate++;
 			continue;
 		}
 
@@ -1301,7 +1300,7 @@ pfsync_in_upd(struct pfsync_pkt *pkt, st
 				    sfail, betoh64(st->id),
 				    ntohl(st->creatorid));
 			}
-			pfsyncstats.pfsyncs_stale++;
+			V_pfsyncstats.pfsyncs_stale++;
 
 			pfsync_update_state(st);
 			schednetisr(NETISR_PFSYNC);
@@ -1339,7 +1338,7 @@ pfsync_in_upd_c(struct pfsync_pkt *pkt, 
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	ua = (struct pfsync_upd_c *)(mp->m_data + offp);
@@ -1364,7 +1363,7 @@ pfsync_in_upd_c(struct pfsync_pkt *pkt, 
 				    "PFSYNC_ACT_UPD_C: "
 				    "invalid value\n");
 			}
-			pfsyncstats.pfsyncs_badval++;
+			V_pfsyncstats.pfsyncs_badval++;
 			continue;
 		}
 
@@ -1407,7 +1406,7 @@ pfsync_in_upd_c(struct pfsync_pkt *pkt, 
 				    betoh64(st->id),
 				    ntohl(st->creatorid));
 			}
-			pfsyncstats.pfsyncs_stale++;
+			V_pfsyncstats.pfsyncs_stale++;
 
 			pfsync_update_state(st);
 			schednetisr(NETISR_PFSYNC);
@@ -1441,7 +1440,7 @@ pfsync_in_ureq(struct pfsync_pkt *pkt, s
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	ura = (struct pfsync_upd_req *)(mp->m_data + offp);
@@ -1457,7 +1456,7 @@ pfsync_in_ureq(struct pfsync_pkt *pkt, s
 		else {
 			st = pf_find_state_byid(&id_key);
 			if (st == NULL) {
-				pfsyncstats.pfsyncs_badstate++;
+				V_pfsyncstats.pfsyncs_badstate++;
 				continue;
 			}
 			if (ISSET(st->state_flags, PFSTATE_NOSYNC))
@@ -1483,7 +1482,7 @@ pfsync_in_del(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	sa = (struct pfsync_state *)(mp->m_data + offp);
@@ -1500,7 +1499,7 @@ pfsync_in_del(struct pfsync_pkt *pkt, st
 
 		st = pf_find_state_byid(&id_key);
 		if (st == NULL) {
-			pfsyncstats.pfsyncs_badstate++;
+			V_pfsyncstats.pfsyncs_badstate++;
 			continue;
 		}
 		SET(st->state_flags, PFSTATE_NOSYNC);
@@ -1527,7 +1526,7 @@ pfsync_in_del_c(struct pfsync_pkt *pkt, 
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	sa = (struct pfsync_del_c *)(mp->m_data + offp);
@@ -1544,7 +1543,7 @@ pfsync_in_del_c(struct pfsync_pkt *pkt, 
 
 		st = pf_find_state_byid(&id_key);
 		if (st == NULL) {
-			pfsyncstats.pfsyncs_badstate++;
+			V_pfsyncstats.pfsyncs_badstate++;
 			continue;
 		}
 
@@ -1578,7 +1577,7 @@ pfsync_in_bus(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	bus = (struct pfsync_bus *)(mp->m_data + offp);
@@ -1661,7 +1660,7 @@ pfsync_in_tdb(struct pfsync_pkt *pkt, st
 
 	mp = m_pulldown(m, offset, len, &offp);
 	if (mp == NULL) {
-		pfsyncstats.pfsyncs_badlen++;
+		V_pfsyncstats.pfsyncs_badlen++;
 		return (-1);
 	}
 	tp = (struct pfsync_tdb *)(mp->m_data + offp);
@@ -1722,7 +1721,7 @@ bad:
 #endif
 		printf("pfsync_insert: PFSYNC_ACT_TDB_UPD: "
 		    "invalid value\n");
-	pfsyncstats.pfsyncs_badstate++;
+	V_pfsyncstats.pfsyncs_badstate++;
 	return;
 }
 #endif
@@ -1733,7 +1732,7 @@ pfsync_in_eof(struct pfsync_pkt *pkt, st
 {
 	/* check if we are at the right place in the packet */
 	if (offset != m->m_pkthdr.len - sizeof(struct pfsync_eof))
-		pfsyncstats.pfsyncs_badact++;
+		V_pfsyncstats.pfsyncs_badact++;
 
 	/* we're done. free and let the caller return */
 	m_freem(m);
@@ -1743,7 +1742,7 @@ pfsync_in_eof(struct pfsync_pkt *pkt, st
 int
 pfsync_in_error(struct pfsync_pkt *pkt, struct mbuf *m, int offset, int count)
 {
-	pfsyncstats.pfsyncs_badact++;
+	V_pfsyncstats.pfsyncs_badact++;
 
 	m_freem(m);
 	return (-1);
@@ -2161,7 +2160,7 @@ pfsync_sendout(void)
 #else
 		sc->sc_if.if_oerrors++;
 #endif
-		pfsyncstats.pfsyncs_onomem++;
+		V_pfsyncstats.pfsyncs_onomem++;
 		pfsync_drop(sc);
 		return;
 	}
@@ -2188,7 +2187,7 @@ pfsync_sendout(void)
 #else
 			sc->sc_if.if_oerrors++;
 #endif
-			pfsyncstats.pfsyncs_onomem++;
+			V_pfsyncstats.pfsyncs_onomem++;
 			pfsync_drop(sc);
 			return;
 		}
@@ -2344,7 +2343,7 @@ pfsync_sendout(void)
 	{
 		PF_LOCK();
 #endif
-		pfsyncstats.pfsyncs_opackets++;
+		V_pfsyncstats.pfsyncs_opackets++;
 #ifdef __FreeBSD__
 	}
 #endif
@@ -2353,7 +2352,7 @@ pfsync_sendout(void)
 	{
 		PF_LOCK();
 #endif
-		pfsyncstats.pfsyncs_oerrors++;
+		V_pfsyncstats.pfsyncs_oerrors++;
 #ifdef __FreeBSD__
 	}
 #endif
@@ -3285,7 +3284,7 @@ pfsync_sysctl(int *name, u_int namelen, 
 		if (newp != NULL)
 			return (EPERM);
 		return (sysctl_struct(oldp, oldlenp, newp, newlen,
-		    &pfsyncstats, sizeof(pfsyncstats)));
+		    &V_pfsyncstats, sizeof(V_pfsyncstats)));
 	default:
 		return (ENOPROTOOPT);
 	}
@@ -3336,7 +3335,7 @@ vnet_pfsync_init(const void *unused)
 
 	pfsyncattach(0);
 
-	error = swi_add(NULL, "pfsync", pfsyncintr, pfsyncif,
+	error = swi_add(NULL, "pfsync", pfsyncintr, V_pfsyncif,
 		SWI_NET, INTR_MPSAFE, &pfsync_swi.pfsync_swi_cookie);
 	if (error)
 		panic("%s: swi_add %d", __func__, error);



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