Module Name:    src
Committed By:   thorpej
Date:           Wed Jan 29 04:18:34 UTC 2020

Modified Files:
        src/sys/net: if_bridge.c if_faith.c if_gif.c if_gre.c if_l2tp.c
            if_loop.c if_mpls.c

Log Message:
Adopt <net/if_stats.h>.


To generate a diff of this commit:
cvs rdiff -u -r1.165 -r1.166 src/sys/net/if_bridge.c
cvs rdiff -u -r1.60 -r1.61 src/sys/net/if_faith.c
cvs rdiff -u -r1.150 -r1.151 src/sys/net/if_gif.c
cvs rdiff -u -r1.176 -r1.177 src/sys/net/if_gre.c
cvs rdiff -u -r1.40 -r1.41 src/sys/net/if_l2tp.c
cvs rdiff -u -r1.109 -r1.110 src/sys/net/if_loop.c
cvs rdiff -u -r1.35 -r1.36 src/sys/net/if_mpls.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.165 src/sys/net/if_bridge.c:1.166
--- src/sys/net/if_bridge.c:1.165	Mon Aug  5 13:30:21 2019
+++ src/sys/net/if_bridge.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bridge.c,v 1.165 2019/08/05 13:30:21 msaitoh Exp $	*/
+/*	$NetBSD: if_bridge.c,v 1.166 2020/01/29 04:18:34 thorpej Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.165 2019/08/05 13:30:21 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.166 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_bridge_ipf.h"
@@ -1461,14 +1461,16 @@ bridge_enqueue(struct bridge_softc *sc, 
 	error = if_transmit_lock(dst_ifp, m);
 	if (error) {
 		/* mbuf is already freed */
-		sc->sc_if.if_oerrors++;
+		if_statinc(&sc->sc_if, if_oerrors);
 		return;
 	}
 
-	sc->sc_if.if_opackets++;
-	sc->sc_if.if_obytes += len;
+	net_stat_ref_t nsr = IF_STAT_GETREF(&sc->sc_if);
+	if_statinc_ref(nsr, if_opackets);
+	if_statadd_ref(nsr, if_obytes, len);
 	if (mflags & M_MCAST)
-		sc->sc_if.if_omcasts++;
+		if_statinc_ref(nsr, if_omcasts);
+	IF_STAT_PUTREF(&sc->sc_if);
 }
 
 /*
@@ -1649,7 +1651,7 @@ bridge_output(struct ifnet *ifp, struct 
 			} else {
 				mc = m_copypacket(m, M_DONTWAIT);
 				if (mc == NULL) {
-					sc->sc_if.if_oerrors++;
+					if_statinc(&sc->sc_if, if_oerrors);
 					goto next;
 				}
 			}
@@ -1667,7 +1669,8 @@ bridge_output(struct ifnet *ifp, struct 
 				} else {
 					mc = m_copypacket(m, M_DONTWAIT);
 					if (mc == NULL) {
-						sc->sc_if.if_oerrors++;
+						if_statinc(&sc->sc_if,
+						    if_oerrors);
 						goto next;
 					}
 				}
@@ -1750,8 +1753,7 @@ bridge_forward(struct bridge_softc *sc, 
 		goto out;
 	}
 
-	sc->sc_if.if_ipackets++;
-	sc->sc_if.if_ibytes += m->m_pkthdr.len;
+	if_statadd2(&sc->sc_if, if_ipackets, 1, if_ibytes, m->m_pkthdr.len);
 
 	/*
 	 * Look up the bridge_iflist.
@@ -1819,7 +1821,7 @@ bridge_forward(struct bridge_softc *sc, 
 		}
 	} else {
 		/* ...forward it to all interfaces. */
-		sc->sc_if.if_imcasts++;
+		if_statinc(&sc->sc_if, if_imcasts);
 		dst_if = NULL;
 	}
 
@@ -2081,7 +2083,7 @@ bridge_broadcast(struct bridge_softc *sc
 		if (dst_if != src_if) {
 			mc = m_copypacket(m, M_DONTWAIT);
 			if (mc == NULL) {
-				sc->sc_if.if_oerrors++;
+				if_statinc(&sc->sc_if, if_oerrors);
 				goto next;
 			}
 			/*
@@ -2099,7 +2101,7 @@ bridge_broadcast(struct bridge_softc *sc
 		if (bmcast) {
 			mc = m_copypacket(m, M_DONTWAIT);
 			if (mc == NULL) {
-				sc->sc_if.if_oerrors++;
+				if_statinc(&sc->sc_if, if_oerrors);
 				goto next;
 			}
 

Index: src/sys/net/if_faith.c
diff -u src/sys/net/if_faith.c:1.60 src/sys/net/if_faith.c:1.61
--- src/sys/net/if_faith.c:1.60	Sat Apr 27 06:18:15 2019
+++ src/sys/net/if_faith.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_faith.c,v 1.60 2019/04/27 06:18:15 pgoyette Exp $	*/
+/*	$NetBSD: if_faith.c,v 1.61 2020/01/29 04:18:34 thorpej Exp $	*/
 /*	$KAME: if_faith.c,v 1.21 2001/02/20 07:59:26 itojun Exp $	*/
 
 /*
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_faith.c,v 1.60 2019/04/27 06:18:15 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_faith.c,v 1.61 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -201,8 +201,7 @@ faithoutput(struct ifnet *ifp, struct mb
 		        rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH);
 	}
 	pktlen = m->m_pkthdr.len;
-	ifp->if_opackets++;
-	ifp->if_obytes += pktlen;
+	if_statadd2(ifp, if_opackets, 1, if_obytes, pktlen);
 	switch (af) {
 #ifdef INET
 	case AF_INET:
@@ -225,8 +224,7 @@ faithoutput(struct ifnet *ifp, struct mb
 
 	s = splnet();
 	if (__predict_true(pktq_enqueue(pktq, m, 0))) {
-		ifp->if_ipackets++;
-		ifp->if_ibytes += pktlen;
+		if_statadd2(ifp, if_ipackets, 1, if_ibytes, pktlen);
 		error = 0;
 	} else {
 		m_freem(m);

Index: src/sys/net/if_gif.c
diff -u src/sys/net/if_gif.c:1.150 src/sys/net/if_gif.c:1.151
--- src/sys/net/if_gif.c:1.150	Wed Oct 30 03:45:59 2019
+++ src/sys/net/if_gif.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_gif.c,v 1.150 2019/10/30 03:45:59 knakahara Exp $	*/
+/*	$NetBSD: if_gif.c,v 1.151 2020/01/29 04:18:34 thorpej Exp $	*/
 /*	$KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.150 2019/10/30 03:45:59 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.151 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -563,7 +563,7 @@ end:
 	if (var != NULL)
 		gif_putref_variant(var, &psref);
 	if (error)
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 	return error;
 }
 
@@ -593,7 +593,7 @@ gif_start(struct ifnet *ifp)
 		if (sizeof(int) > m->m_len) {
 			m = m_pullup(m, sizeof(int));
 			if (!m) {
-				ifp->if_oerrors++;
+				if_statinc(ifp, if_oerrors);
 				continue;
 			}
 		}
@@ -605,11 +605,9 @@ gif_start(struct ifnet *ifp)
 
 		error = var->gv_output(var, family, m);
 		if (error)
-			ifp->if_oerrors++;
-		else {
-			ifp->if_opackets++;
-			ifp->if_obytes += len;
-		}
+			if_statinc(ifp, if_oerrors);
+		else
+			if_statadd2(ifp, if_opackets, 1, if_obytes, len);
 	}
 
 	gif_putref_variant(var, &psref);
@@ -651,7 +649,7 @@ gif_transmit_direct(struct gif_variant *
 	if (sizeof(int) > m->m_len) {
 		m = m_pullup(m, sizeof(int));
 		if (!m) {
-			ifp->if_oerrors++;
+			if_statinc(ifp, if_oerrors);
 			return ENOBUFS;
 		}
 	}
@@ -663,11 +661,9 @@ gif_transmit_direct(struct gif_variant *
 
 	error = var->gv_output(var, family, m);
 	if (error)
-		ifp->if_oerrors++;
-	else {
-		ifp->if_opackets++;
-		ifp->if_obytes += len;
-	}
+		if_statinc(ifp, if_oerrors);
+	else
+		if_statadd2(ifp, if_opackets, 1, if_obytes, len);
 
 	return error;
 }
@@ -717,8 +713,7 @@ gif_input(struct mbuf *m, int af, struct
 	const uint32_t h = pktq_rps_hash(m);
 #endif
 	if (__predict_true(pktq_enqueue(pktq, m, h))) {
-		ifp->if_ibytes += pktlen;
-		ifp->if_ipackets++;
+		if_statadd2(ifp, if_ibytes, pktlen, if_ipackets, 1);
 	} else {
 		m_freem(m);
 	}

Index: src/sys/net/if_gre.c
diff -u src/sys/net/if_gre.c:1.176 src/sys/net/if_gre.c:1.177
--- src/sys/net/if_gre.c:1.176	Wed Oct 16 06:53:34 2019
+++ src/sys/net/if_gre.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_gre.c,v 1.176 2019/10/16 06:53:34 knakahara Exp $ */
+/*	$NetBSD: if_gre.c,v 1.177 2020/01/29 04:18:34 thorpej Exp $ */
 
 /*
  * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc.
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.176 2019/10/16 06:53:34 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.177 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_atalk.h"
@@ -791,8 +791,7 @@ gre_input(struct gre_softc *sc, struct m
 	int isr = 0, s;
 	int hlen;
 
-	sc->sc_if.if_ipackets++;
-	sc->sc_if.if_ibytes += m->m_pkthdr.len;
+	if_statadd2(&sc->sc_if, if_ipackets, 1, if_ibytes, m->m_pkthdr.len);
 
 	hlen = sizeof(struct gre_h);
 
@@ -804,7 +803,7 @@ gre_input(struct gre_softc *sc, struct m
 		hlen += 4;
 	/* We don't support routing fields (variable length) */
 	if (flags & GRE_RP) {
-		sc->sc_if.if_ierrors++;
+		if_statinc(&sc->sc_if, if_ierrors);
 		return 0;
 	}
 	if (flags & GRE_KP)
@@ -842,13 +841,13 @@ gre_input(struct gre_softc *sc, struct m
 	default:	   /* others not yet supported */
 		GRE_DPRINTF(sc, "unhandled ethertype 0x%04x\n",
 		    ntohs(gh->ptype));
-		sc->sc_if.if_noproto++;
+		if_statinc(&sc->sc_if, if_noproto);
 		return 0;
 	}
 
 	if (hlen > m->m_pkthdr.len) {
 		m_freem(m);
-		sc->sc_if.if_ierrors++;
+		if_statinc(&sc->sc_if, if_ierrors);
 		return 1;
 	}
 	m_adj(m, hlen);
@@ -953,8 +952,7 @@ gre_output(struct ifnet *ifp, struct mbu
 	gh->ptype = etype;
 	/* XXX Need to handle IP ToS.  Look at how I handle IP TTL. */
 
-	ifp->if_opackets++;
-	ifp->if_obytes += m->m_pkthdr.len;
+	if_statadd2(ifp, if_opackets, 1, if_obytes, m->m_pkthdr.len);
 
 	/* Clear checksum-offload flags. */
 	m->m_pkthdr.csum_flags = 0;
@@ -972,7 +970,7 @@ gre_output(struct ifnet *ifp, struct mbu
 
 end:
 	if (error)
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 	return error;
 }
 

Index: src/sys/net/if_l2tp.c
diff -u src/sys/net/if_l2tp.c:1.40 src/sys/net/if_l2tp.c:1.41
--- src/sys/net/if_l2tp.c:1.40	Wed Oct 16 06:53:34 2019
+++ src/sys/net/if_l2tp.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_l2tp.c,v 1.40 2019/10/16 06:53:34 knakahara Exp $	*/
+/*	$NetBSD: if_l2tp.c,v 1.41 2020/01/29 04:18:34 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2017 Internet Initiative Japan Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_l2tp.c,v 1.40 2019/10/16 06:53:34 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_l2tp.c,v 1.41 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -404,7 +404,7 @@ l2tp_tx_enqueue(struct l2tp_variant *var
 	s = splsoftnet();
 	ifq = l2tp_ifq_percpu_getref(sc->l2tp_ifq_percpu);
 	if (IF_QFULL(ifq)) {
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 		l2tp_ifq_percpu_putref(sc->l2tp_ifq_percpu);
 		splx(s);
 		m_freem(m);
@@ -465,7 +465,7 @@ l2tp_output(struct ifnet *ifp, struct mb
 end:
 	l2tp_putref_variant(var, &psref);
 	if (error)
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 
 	return error;
 }
@@ -504,10 +504,9 @@ l2tp_sendit(struct l2tp_variant *var, st
 		break;
 	}
 	if (error) {
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 	} else {
-		ifp->if_opackets++;
-		ifp->if_obytes += len;
+		if_statadd2(ifp, if_opackets, 1, if_obytes, len);
 	}
 }
 

Index: src/sys/net/if_loop.c
diff -u src/sys/net/if_loop.c:1.109 src/sys/net/if_loop.c:1.110
--- src/sys/net/if_loop.c:1.109	Thu Nov 14 04:14:30 2019
+++ src/sys/net/if_loop.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_loop.c,v 1.109 2019/11/14 04:14:30 msaitoh Exp $	*/
+/*	$NetBSD: if_loop.c,v 1.110 2020/01/29 04:18:34 thorpej Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_loop.c,v 1.109 2019/11/14 04:14:30 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_loop.c,v 1.110 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -270,8 +270,8 @@ looutput(struct ifnet *ifp, struct mbuf 
 	}
 
 	pktlen = m->m_pkthdr.len;
-	ifp->if_opackets++;
-	ifp->if_obytes += pktlen;
+
+	if_statadd2(ifp, if_opackets, 1, if_obytes, pktlen);
 
 #ifdef ALTQ
 	/*
@@ -368,8 +368,7 @@ looutput(struct ifnet *ifp, struct mbuf 
 		error = 0;
 
 		if (__predict_true(pktq_enqueue(pktq, m, 0))) {
-			ifp->if_ipackets++;
-			ifp->if_ibytes += pktlen;
+			if_statadd2(ifp, if_ipackets, 1, if_ibytes, pktlen);
 		} else {
 			m_freem(m);
 			error = ENOBUFS;
@@ -384,8 +383,7 @@ looutput(struct ifnet *ifp, struct mbuf 
 		error = ENOBUFS;
 		goto out;
 	}
-	ifp->if_ipackets++;
-	ifp->if_ibytes += m->m_pkthdr.len;
+	if_statadd2(ifp, if_ipackets, 1, if_ibytes, m->m_pkthdr.len);
 	IF_ENQUEUE(ifq, m);
 	schednetisr(isr);
 	splx(s);
@@ -445,8 +443,7 @@ lostart(struct ifnet *ifp)
 				splx(s);
 				return;
 			}
-			ifp->if_ipackets++;
-			ifp->if_ibytes += pktlen;
+			if_statadd2(ifp, if_ipackets, 1, if_ibytes, pktlen);
 			splx(s);
 			continue;
 		}
@@ -458,8 +455,7 @@ lostart(struct ifnet *ifp)
 		}
 		IF_ENQUEUE(ifq, m);
 		schednetisr(isr);
-		ifp->if_ipackets++;
-		ifp->if_ibytes += pktlen;
+		if_statadd2(ifp, if_ipackets, 1, if_ibytes, pktlen);
 		splx(s);
 	}
 }

Index: src/sys/net/if_mpls.c
diff -u src/sys/net/if_mpls.c:1.35 src/sys/net/if_mpls.c:1.36
--- src/sys/net/if_mpls.c:1.35	Sat Apr 27 06:18:15 2019
+++ src/sys/net/if_mpls.c	Wed Jan 29 04:18:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mpls.c,v 1.35 2019/04/27 06:18:15 pgoyette Exp $ */
+/*	$NetBSD: if_mpls.c,v 1.36 2020/01/29 04:18:34 thorpej Exp $ */
 
 /*
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_mpls.c,v 1.35 2019/04/27 06:18:15 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mpls.c,v 1.36 2020/01/29 04:18:34 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -286,12 +286,11 @@ mpls_output(struct ifnet *ifp, struct mb
 
 	if (m == NULL) {
 		IF_DROP(&ifp->if_snd);
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 		return ENOBUFS;
 	}
 
-	ifp->if_opackets++;
-	ifp->if_obytes += m->m_pkthdr.len;
+	if_statadd2(ifp, if_opackets, 1, if_obytes, m->m_pkthdr.len);
 
 	if ((rt1 = rtalloc1(rt->rt_gateway, 1)) == NULL) {
 		m_freem(m);

Reply via email to