Module Name: src Committed By: riastradh Date: Sat Jun 29 12:11:13 UTC 2024
Modified Files: src/sys/arch/arm/gemini: if_gpn.c src/sys/arch/arm/xscale: ixp425_if_npe.c src/sys/arch/mac68k/dev: if_mc.c src/sys/arch/macppc/dev: am79c950.c src/sys/arch/mips/alchemy/dev: if_aumac.c src/sys/arch/mips/atheros/dev: if_ae.c src/sys/arch/mips/cavium/dev: octeon_gmx.c src/sys/arch/powerpc/booke/dev: pq3etsec.c src/sys/arch/sgimips/hpc: if_sq.c src/sys/dev/cadence: if_cemac.c src/sys/dev/ic: aic6915.c cs89x0.c dp8390.c dp83932.c elinkxl.c gem.c hd64570.c hme.c i82557.c mb86960.c rtl8169.c rtl81x9.c smc83c170.c tulip.c src/sys/dev/pci: if_age.c if_alc.c if_ale.c if_aq.c if_bge.c if_bnx.c if_cas.c if_ena.c if_iavf.c if_ixl.c if_rge.c if_sip.c if_ste.c if_stge.c if_tl.c if_txp.c if_vge.c if_vioif.c if_vmx.c if_vr.c if_vte.c if_wm.c src/sys/dev/pci/igc: if_igc.c src/sys/dev/pci/ixgbe: ix_txrx.c ixgbe.c src/sys/dev/sbus: qe.c src/sys/dev/usb: if_cue.c src/sys/net: if.c if_bridge.c if_stats.h if_vlan.c src/sys/net/agr: if_agr.c src/sys/net/lagg: if_lagg.c Log Message: if_stats(9): Add ifp argument to if_stat..._ref. This will enable us to pass the ifp through to a dtrace probe inside. No functional change intended in this change, but this is an API change visible to modules so it shouldn't be pulled up. PR kern/58377 To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/gemini/if_gpn.c cvs rdiff -u -r1.53 -r1.54 src/sys/arch/arm/xscale/ixp425_if_npe.c cvs rdiff -u -r1.58 -r1.59 src/sys/arch/mac68k/dev/if_mc.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/macppc/dev/am79c950.c cvs rdiff -u -r1.52 -r1.53 src/sys/arch/mips/alchemy/dev/if_aumac.c cvs rdiff -u -r1.43 -r1.44 src/sys/arch/mips/atheros/dev/if_ae.c cvs rdiff -u -r1.23 -r1.24 src/sys/arch/mips/cavium/dev/octeon_gmx.c cvs rdiff -u -r1.59 -r1.60 src/sys/arch/powerpc/booke/dev/pq3etsec.c cvs rdiff -u -r1.58 -r1.59 src/sys/arch/sgimips/hpc/if_sq.c cvs rdiff -u -r1.26 -r1.27 src/sys/dev/cadence/if_cemac.c cvs rdiff -u -r1.46 -r1.47 src/sys/dev/ic/aic6915.c cvs rdiff -u -r1.54 -r1.55 src/sys/dev/ic/cs89x0.c cvs rdiff -u -r1.100 -r1.101 src/sys/dev/ic/dp8390.c cvs rdiff -u -r1.49 -r1.50 src/sys/dev/ic/dp83932.c cvs rdiff -u -r1.139 -r1.140 src/sys/dev/ic/elinkxl.c cvs rdiff -u -r1.136 -r1.137 src/sys/dev/ic/gem.c cvs rdiff -u -r1.58 -r1.59 src/sys/dev/ic/hd64570.c cvs rdiff -u -r1.109 -r1.110 src/sys/dev/ic/hme.c cvs rdiff -u -r1.161 -r1.162 src/sys/dev/ic/i82557.c cvs rdiff -u -r1.97 -r1.98 src/sys/dev/ic/mb86960.c \ src/sys/dev/ic/smc83c170.c cvs rdiff -u -r1.175 -r1.176 src/sys/dev/ic/rtl8169.c cvs rdiff -u -r1.114 -r1.115 src/sys/dev/ic/rtl81x9.c cvs rdiff -u -r1.211 -r1.212 src/sys/dev/ic/tulip.c cvs rdiff -u -r1.73 -r1.74 src/sys/dev/pci/if_age.c cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/if_alc.c cvs rdiff -u -r1.43 -r1.44 src/sys/dev/pci/if_ale.c cvs rdiff -u -r1.47 -r1.48 src/sys/dev/pci/if_aq.c src/sys/dev/pci/if_cas.c cvs rdiff -u -r1.391 -r1.392 src/sys/dev/pci/if_bge.c cvs rdiff -u -r1.114 -r1.115 src/sys/dev/pci/if_bnx.c cvs rdiff -u -r1.41 -r1.42 src/sys/dev/pci/if_ena.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/pci/if_iavf.c cvs rdiff -u -r1.98 -r1.99 src/sys/dev/pci/if_ixl.c cvs rdiff -u -r1.31 -r1.32 src/sys/dev/pci/if_rge.c cvs rdiff -u -r1.191 -r1.192 src/sys/dev/pci/if_sip.c cvs rdiff -u -r1.65 -r1.66 src/sys/dev/pci/if_ste.c cvs rdiff -u -r1.91 -r1.92 src/sys/dev/pci/if_stge.c cvs rdiff -u -r1.125 -r1.126 src/sys/dev/pci/if_tl.c cvs rdiff -u -r1.75 -r1.76 src/sys/dev/pci/if_txp.c cvs rdiff -u -r1.87 -r1.88 src/sys/dev/pci/if_vge.c cvs rdiff -u -r1.111 -r1.112 src/sys/dev/pci/if_vioif.c cvs rdiff -u -r1.15 -r1.16 src/sys/dev/pci/if_vmx.c cvs rdiff -u -r1.137 -r1.138 src/sys/dev/pci/if_vr.c cvs rdiff -u -r1.35 -r1.36 src/sys/dev/pci/if_vte.c cvs rdiff -u -r1.798 -r1.799 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.14 -r1.15 src/sys/dev/pci/igc/if_igc.c cvs rdiff -u -r1.116 -r1.117 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.351 -r1.352 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.79 -r1.80 src/sys/dev/sbus/qe.c cvs rdiff -u -r1.108 -r1.109 src/sys/dev/usb/if_cue.c cvs rdiff -u -r1.529 -r1.530 src/sys/net/if.c cvs rdiff -u -r1.189 -r1.190 src/sys/net/if_bridge.c cvs rdiff -u -r1.4 -r1.5 src/sys/net/if_stats.h cvs rdiff -u -r1.171 -r1.172 src/sys/net/if_vlan.c cvs rdiff -u -r1.56 -r1.57 src/sys/net/agr/if_agr.c cvs rdiff -u -r1.70 -r1.71 src/sys/net/lagg/if_lagg.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/arch/arm/gemini/if_gpn.c diff -u src/sys/arch/arm/gemini/if_gpn.c:1.17 src/sys/arch/arm/gemini/if_gpn.c:1.18 --- src/sys/arch/arm/gemini/if_gpn.c:1.17 Fri May 26 21:40:46 2023 +++ src/sys/arch/arm/gemini/if_gpn.c Sat Jun 29 12:11:10 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_gpn.c,v 1.17 2023/05/26 21:40:46 andvar Exp $ */ +/* $NetBSD: if_gpn.c,v 1.18 2024/06/29 12:11:10 riastradh Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,7 +32,7 @@ #include "opt_gemini.h" -__KERNEL_RCSID(0, "$NetBSD: if_gpn.c,v 1.17 2023/05/26 21:40:46 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gpn.c,v 1.18 2024/06/29 12:11:10 riastradh Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -444,7 +444,7 @@ gpn_ifstart(struct ifnet *ifp) mtod(m, void *), m->m_len, NULL, BUS_DMA_READ | BUS_DMA_NOWAIT); if (error) { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); m_freem(m); break; } @@ -467,9 +467,9 @@ gpn_ifstart(struct ifnet *ifp) gd.gd_txid = id; ti->ti_mbuf = m; last_gd = &gd; - if_statadd_ref(nsr, if_obytes, m->m_len); + if_statadd_ref(ifp, nsr, if_obytes, m->m_len); } - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); if (last_gd != NULL) { Index: src/sys/arch/arm/xscale/ixp425_if_npe.c diff -u src/sys/arch/arm/xscale/ixp425_if_npe.c:1.53 src/sys/arch/arm/xscale/ixp425_if_npe.c:1.54 --- src/sys/arch/arm/xscale/ixp425_if_npe.c:1.53 Tue Sep 27 06:13:42 2022 +++ src/sys/arch/arm/xscale/ixp425_if_npe.c Sat Jun 29 12:11:10 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ixp425_if_npe.c,v 1.53 2022/09/27 06:13:42 skrll Exp $ */ +/* $NetBSD: ixp425_if_npe.c,v 1.54 2024/06/29 12:11:10 riastradh Exp $ */ /*- * Copyright (c) 2006 Sam Leffler. All rights reserved. @@ -28,7 +28,7 @@ #if 0 __FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #endif -__KERNEL_RCSID(0, "$NetBSD: ixp425_if_npe.c,v 1.53 2022/09/27 06:13:42 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixp425_if_npe.c,v 1.54 2024/06/29 12:11:10 riastradh Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -688,18 +688,18 @@ npe_addstats(struct npe_softc *sc) struct npestats *ns = sc->sc_stats; net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, be32toh(ns->dot3StatsInternalMacTransmitErrors) + be32toh(ns->dot3StatsCarrierSenseErrors) + be32toh(ns->TxVLANIdFilterDiscards) ); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, be32toh(ns->dot3StatsFCSErrors) + be32toh(ns->dot3StatsInternalMacReceiveErrors) + be32toh(ns->RxOverrunDiscards) + be32toh(ns->RxUnderflowEntryDiscards) ); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, be32toh(ns->dot3StatsSingleCollisionFrames) + be32toh(ns->dot3StatsMultipleCollisionFrames) ); Index: src/sys/arch/mac68k/dev/if_mc.c diff -u src/sys/arch/mac68k/dev/if_mc.c:1.58 src/sys/arch/mac68k/dev/if_mc.c:1.59 --- src/sys/arch/mac68k/dev/if_mc.c:1.58 Sun Sep 18 02:41:24 2022 +++ src/sys/arch/mac68k/dev/if_mc.c Sat Jun 29 12:11:10 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_mc.c,v 1.58 2022/09/18 02:41:24 thorpej Exp $ */ +/* $NetBSD: if_mc.c,v 1.59 2024/06/29 12:11:10 riastradh Exp $ */ /*- * Copyright (c) 1997 David Huang <k...@azeotrope.org> @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_mc.c,v 1.58 2022/09/18 02:41:24 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_mc.c,v 1.59 2024/06/29 12:11:10 riastradh Exp $"); #include "opt_ddb.h" #include "opt_inet.h" @@ -492,25 +492,25 @@ mc_tint(struct mc_softc *sc) if (xmtfs & LCOL) { printf("%s: late collision\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); + if_statinc_ref(&sc->sc_if, nsr, if_collisions); } if (xmtfs & MORE) /* Real number is unknown. */ - if_statadd_ref(nsr, if_collisions, 2); + if_statadd_ref(&sc->sc_if, nsr, if_collisions, 2); else if (xmtfs & ONE) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(&sc->sc_if, nsr, if_collisions); else if (xmtfs & RTRY) { printf("%s: excessive collisions\n", device_xname(sc->sc_dev)); - if_statadd_ref(nsr, if_collisions, 16); - if_statinc_ref(nsr, if_oerrors); + if_statadd_ref(&sc->sc_if, nsr, if_collisions, 16); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); } if (xmtfs & LCAR) { sc->sc_havecarrier = 0; printf("%s: lost carrier\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); } IF_STAT_PUTREF(&sc->sc_if); Index: src/sys/arch/macppc/dev/am79c950.c diff -u src/sys/arch/macppc/dev/am79c950.c:1.51 src/sys/arch/macppc/dev/am79c950.c:1.52 --- src/sys/arch/macppc/dev/am79c950.c:1.51 Sun Sep 18 10:54:52 2022 +++ src/sys/arch/macppc/dev/am79c950.c Sat Jun 29 12:11:10 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: am79c950.c,v 1.51 2022/09/18 10:54:52 thorpej Exp $ */ +/* $NetBSD: am79c950.c,v 1.52 2024/06/29 12:11:10 riastradh Exp $ */ /*- * Copyright (c) 1997 David Huang <k...@bga.com> @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: am79c950.c,v 1.51 2022/09/18 10:54:52 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: am79c950.c,v 1.52 2024/06/29 12:11:10 riastradh Exp $"); #include "opt_inet.h" @@ -491,24 +491,24 @@ mc_tint(struct mc_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(&sc->sc_if); if (xmtfs & LCOL) { printf("%s: late collision\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); + if_statinc_ref(&sc->sc_if, nsr, if_collisions); } if (xmtfs & MORE) /* Real number is unknown. */ - if_statadd_ref(nsr, if_collisions, 2); + if_statadd_ref(&sc->sc_if, nsr, if_collisions, 2); else if (xmtfs & ONE) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(&sc->sc_if, nsr, if_collisions); else if (xmtfs & RTRY) { - if_statadd_ref(nsr, if_collisions, 16); - if_statinc_ref(nsr, if_oerrors); + if_statadd_ref(&sc->sc_if, nsr, if_collisions, 16); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); } if (xmtfs & LCAR) { sc->sc_havecarrier = 0; printf("%s: lost carrier\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(&sc->sc_if, nsr, if_oerrors); } IF_STAT_PUTREF(&sc->sc_if); Index: src/sys/arch/mips/alchemy/dev/if_aumac.c diff -u src/sys/arch/mips/alchemy/dev/if_aumac.c:1.52 src/sys/arch/mips/alchemy/dev/if_aumac.c:1.53 --- src/sys/arch/mips/alchemy/dev/if_aumac.c:1.52 Thu Sep 29 07:00:46 2022 +++ src/sys/arch/mips/alchemy/dev/if_aumac.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_aumac.c,v 1.52 2022/09/29 07:00:46 skrll Exp $ */ +/* $NetBSD: if_aumac.c,v 1.53 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -46,7 +46,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_aumac.c,v 1.52 2022/09/29 07:00:46 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_aumac.c,v 1.53 2024/06/29 12:11:11 riastradh Exp $"); @@ -566,14 +566,17 @@ aumac_txintr(struct aumac_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (stat & TX_STAT_FA) { /* XXX STATS */ - if_statinc_ref(nsr, if_oerrors); - } else - if_statinc_ref(nsr, if_opackets); - - if (stat & TX_STAT_EC) - if_statadd_ref(nsr, if_collisions, 16); - else if (TX_STAT_CC(stat)) - if_statadd_ref(nsr, if_collisions, TX_STAT_CC(stat)); + if_statinc_ref(ifp, nsr, if_oerrors); + } else { + if_statinc_ref(ifp, nsr, if_opackets); + } + + if (stat & TX_STAT_EC) { + if_statadd_ref(ifp, nsr, if_collisions, 16); + } else if (TX_STAT_CC(stat)) { + if_statadd_ref(ifp, nsr, if_collisions, + TX_STAT_CC(stat)); + } IF_STAT_PUTREF(ifp); sc->sc_txfree++; Index: src/sys/arch/mips/atheros/dev/if_ae.c diff -u src/sys/arch/mips/atheros/dev/if_ae.c:1.43 src/sys/arch/mips/atheros/dev/if_ae.c:1.44 --- src/sys/arch/mips/atheros/dev/if_ae.c:1.43 Sat Feb 10 09:30:05 2024 +++ src/sys/arch/mips/atheros/dev/if_ae.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ae.c,v 1.43 2024/02/10 09:30:05 andvar Exp $ */ +/* $NetBSD: if_ae.c,v 1.44 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 2006 Urbana-Champaign Independent Media Center. * Copyright (c) 2006 Garrett D'Amore. @@ -98,7 +98,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ae.c,v 1.43 2024/02/10 09:30:05 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ae.c,v 1.44 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -1209,17 +1209,17 @@ ae_txintr(struct ae_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & (ADSTAT_Tx_UF | ADSTAT_Tx_TO)) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); if (txstat & ADSTAT_Tx_EC) - if_statadd_ref(nsr, if_collisions, 16); + if_statadd_ref(ifp, nsr, if_collisions, 16); else if (ADSTAT_Tx_COLLISIONS(txstat)) - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, ADSTAT_Tx_COLLISIONS(txstat)); if (txstat & ADSTAT_Tx_LC) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); } Index: src/sys/arch/mips/cavium/dev/octeon_gmx.c diff -u src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.23 src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.24 --- src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.23 Thu Jul 20 23:31:27 2023 +++ src/sys/arch/mips/cavium/dev/octeon_gmx.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: octeon_gmx.c,v 1.23 2023/07/20 23:31:27 gutteridge Exp $ */ +/* $NetBSD: octeon_gmx.c,v 1.24 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2007 Internet Initiative Japan, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.23 2023/07/20 23:31:27 gutteridge Exp $"); +__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.24 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1168,21 +1168,21 @@ octgmx_stats(struct octgmx_port_softc *s * this is not add to input packet errors of interface. */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_iqdrops, + if_statadd_ref(ifp, nsr, if_iqdrops, (uint32_t)_GMX_PORT_RD8(sc, GMX0_RX0_STATS_PKTS_DRP)); - if_statadd_ref(nsr, if_opackets, + if_statadd_ref(ifp, nsr, if_opackets, (uint32_t)_GMX_PORT_RD8(sc, GMX0_TX0_STAT3)); tmp = _GMX_PORT_RD8(sc, GMX0_TX0_STAT0); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, (uint32_t)tmp + ((uint32_t)(tmp >> 32) * 16)); - if_statadd_ref(nsr, if_collisions, (uint32_t)tmp); + if_statadd_ref(ifp, nsr, if_collisions, (uint32_t)tmp); tmp = _GMX_PORT_RD8(sc, GMX0_TX0_STAT1); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, (uint32_t)tmp + (uint32_t)(tmp >> 32)); tmp = _GMX_PORT_RD8(sc, GMX0_TX0_STAT9); - if_statadd_ref(nsr, if_oerrors, (uint32_t)(tmp >> 32)); + if_statadd_ref(ifp, nsr, if_oerrors, (uint32_t)(tmp >> 32)); IF_STAT_PUTREF(ifp); } Index: src/sys/arch/powerpc/booke/dev/pq3etsec.c diff -u src/sys/arch/powerpc/booke/dev/pq3etsec.c:1.59 src/sys/arch/powerpc/booke/dev/pq3etsec.c:1.60 --- src/sys/arch/powerpc/booke/dev/pq3etsec.c:1.59 Fri Feb 9 22:08:33 2024 +++ src/sys/arch/powerpc/booke/dev/pq3etsec.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: pq3etsec.c,v 1.59 2024/02/09 22:08:33 andvar Exp $ */ +/* $NetBSD: pq3etsec.c,v 1.60 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pq3etsec.c,v 1.59 2024/02/09 22:08:33 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pq3etsec.c,v 1.60 2024/06/29 12:11:11 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -2217,12 +2217,12 @@ pq3etsec_txq_consume( m_adj(m, sizeof(struct txfcb)); bpf_mtap(ifp, m, BPF_D_OUT); net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); if (txbd_flags & TXBD_ERRORS) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); IF_STAT_PUTREF(ifp); m_freem(m); #ifdef ETSEC_DEBUG Index: src/sys/arch/sgimips/hpc/if_sq.c diff -u src/sys/arch/sgimips/hpc/if_sq.c:1.58 src/sys/arch/sgimips/hpc/if_sq.c:1.59 --- src/sys/arch/sgimips/hpc/if_sq.c:1.58 Sat Feb 10 09:30:06 2024 +++ src/sys/arch/sgimips/hpc/if_sq.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_sq.c,v 1.58 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: if_sq.c,v 1.59 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2001 Rafal K. Boni @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_sq.c,v 1.58 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_sq.c,v 1.59 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -1070,19 +1070,19 @@ sq_txintr(struct sq_softc *sc) tmp = (sc->hpc_regs->enetx_ctl_active >> shift) | TXSTAT_GOOD; if ((status & tmp) == 0) { if (status & TXSTAT_COLL) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); if (status & TXSTAT_UFLOW) { printf("%s: transmit underflow\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } if (status & TXSTAT_16COLL) { printf("%s: max collisions reached\n", device_xname(sc->sc_dev)); - if_statinc_ref(nsr, if_oerrors); - if_statadd_ref(nsr, if_collisions, 16); + if_statinc_ref(ifp, nsr, if_oerrors); + if_statadd_ref(ifp, nsr, if_collisions, 16); } } IF_STAT_PUTREF(ifp); Index: src/sys/dev/cadence/if_cemac.c diff -u src/sys/dev/cadence/if_cemac.c:1.26 src/sys/dev/cadence/if_cemac.c:1.27 --- src/sys/dev/cadence/if_cemac.c:1.26 Sat Nov 12 16:54:36 2022 +++ src/sys/dev/cadence/if_cemac.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_cemac.c,v 1.26 2022/11/12 16:54:36 jmcneill Exp $ */ +/* $NetBSD: if_cemac.c,v 1.27 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2015 Genetec Corporation. All rights reserved. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_cemac.c,v 1.26 2022/11/12 16:54:36 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_cemac.c,v 1.27 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -303,14 +303,14 @@ cemac_intr(void *arg) CEMAC_WRITE(ETH_CTL, ctl & ~ETH_CTL_RE); // disable receiver CEMAC_WRITE(ETH_RSR, ETH_RSR_BNA); // clear BNA bit CEMAC_WRITE(ETH_CTL, ctl | ETH_CTL_RE); // re-enable receiver - if_statinc_ref(nsr, if_ierrors); - if_statinc_ref(nsr, if_ipackets); + if_statinc_ref(ifp, nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ipackets); DPRINTFN(1,("%s: out of receive buffers\n", __FUNCTION__)); } if (isr & ETH_ISR_ROVR) { CEMAC_WRITE(ETH_RSR, ETH_RSR_OVR); // clear interrupt - if_statinc_ref(nsr, if_ierrors); - if_statinc_ref(nsr, if_ipackets); + if_statinc_ref(ifp, nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ipackets); DPRINTFN(1,("%s: receive overrun\n", __FUNCTION__)); } @@ -374,7 +374,7 @@ cemac_intr(void *arg) */ if (m != NULL) m_freem(m); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); } sc->rxqi++; } Index: src/sys/dev/ic/aic6915.c diff -u src/sys/dev/ic/aic6915.c:1.46 src/sys/dev/ic/aic6915.c:1.47 --- src/sys/dev/ic/aic6915.c:1.46 Fri Feb 2 22:39:10 2024 +++ src/sys/dev/ic/aic6915.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: aic6915.c,v 1.46 2024/02/02 22:39:10 andvar Exp $ */ +/* $NetBSD: aic6915.c,v 1.47 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: aic6915.c,v 1.46 2024/02/02 22:39:10 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: aic6915.c,v 1.47 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -843,18 +843,18 @@ sf_stats_update(struct sf_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_opackets, stats.TransmitOKFrames); + if_statadd_ref(ifp, nsr, if_opackets, stats.TransmitOKFrames); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, stats.SingleCollisionFrames + stats.MultipleCollisionFrames); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, stats.TransmitAbortDueToExcessiveCollisions + stats.TransmitAbortDueToExcessingDeferral + stats.FramesLostDueToInternalTransmitErrors); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, stats.ReceiveCRCErrors + stats.AlignmentErrors + stats.ReceiveFramesTooLong + stats.ReceiveFramesTooShort + stats.ReceiveFramesJabbersError + Index: src/sys/dev/ic/cs89x0.c diff -u src/sys/dev/ic/cs89x0.c:1.54 src/sys/dev/ic/cs89x0.c:1.55 --- src/sys/dev/ic/cs89x0.c:1.54 Sat Feb 10 18:43:52 2024 +++ src/sys/dev/ic/cs89x0.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cs89x0.c,v 1.54 2024/02/10 18:43:52 andvar Exp $ */ +/* $NetBSD: cs89x0.c,v 1.55 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2004 Christopher Gilbert @@ -212,7 +212,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.54 2024/02/10 18:43:52 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.55 2024/06/29 12:11:11 riastradh Exp $"); #include "opt_inet.h" @@ -1564,12 +1564,12 @@ cs_transmit_event(struct cs_softc *sc, u /* Add the number of collisions for this frame */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txEvent & TX_EVENT_16_COLL) - if_statadd_ref(nsr, if_collisions, 16); + if_statadd_ref(ifp, nsr, if_collisions, 16); else - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, ((txEvent & TX_EVENT_COLL_MASK) >> 11)); - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); /* Transmission is no longer in progress */ Index: src/sys/dev/ic/dp8390.c diff -u src/sys/dev/ic/dp8390.c:1.100 src/sys/dev/ic/dp8390.c:1.101 --- src/sys/dev/ic/dp8390.c:1.100 Sun Sep 18 18:03:51 2022 +++ src/sys/dev/ic/dp8390.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: dp8390.c,v 1.100 2022/09/18 18:03:51 thorpej Exp $ */ +/* $NetBSD: dp8390.c,v 1.101 2024/06/29 12:11:11 riastradh Exp $ */ /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dp8390.c,v 1.100 2022/09/18 18:03:51 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dp8390.c,v 1.101 2024/06/29 12:11:11 riastradh Exp $"); #include "opt_inet.h" @@ -688,7 +688,7 @@ dp8390_intr(void *arg) } /* Update output errors counter. */ - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } else { /* * Throw away the non-error status bits. @@ -703,7 +703,7 @@ dp8390_intr(void *arg) * Update total number of successfully * transmitted packets. */ - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); } /* Clear watchdog timer. */ @@ -713,8 +713,10 @@ dp8390_intr(void *arg) * Add in total number of collisions on last * transmission. */ - if (collisions) - if_statadd_ref(nsr, if_collisions, collisions); + if (collisions) { + if_statadd_ref(ifp, nsr, if_collisions, + collisions); + } IF_STAT_PUTREF(ifp); Index: src/sys/dev/ic/dp83932.c diff -u src/sys/dev/ic/dp83932.c:1.49 src/sys/dev/ic/dp83932.c:1.50 --- src/sys/dev/ic/dp83932.c:1.49 Sun Sep 25 18:43:32 2022 +++ src/sys/dev/ic/dp83932.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: dp83932.c,v 1.49 2022/09/25 18:43:32 thorpej Exp $ */ +/* $NetBSD: dp83932.c,v 1.50 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dp83932.c,v 1.49 2022/09/25 18:43:32 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dp83932.c,v 1.50 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -668,13 +668,15 @@ sonic_txintr(struct sonic_softc *sc) */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (status & TCR_PTX) { - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); count++; - } else - if_statinc_ref(nsr, if_oerrors); - if (TDA_STATUS_NCOL(status)) - if_statadd_ref(nsr, if_collisions, + } else { + if_statinc_ref(ifp, nsr, if_oerrors); + } + if (TDA_STATUS_NCOL(status)) { + if_statadd_ref(ifp, nsr, if_collisions, TDA_STATUS_NCOL(status)); + } IF_STAT_PUTREF(ifp); } Index: src/sys/dev/ic/elinkxl.c diff -u src/sys/dev/ic/elinkxl.c:1.139 src/sys/dev/ic/elinkxl.c:1.140 --- src/sys/dev/ic/elinkxl.c:1.139 Sun May 29 10:43:46 2022 +++ src/sys/dev/ic/elinkxl.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: elinkxl.c,v 1.139 2022/05/29 10:43:46 rin Exp $ */ +/* $NetBSD: elinkxl.c,v 1.140 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.139 2022/05/29 10:43:46 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.140 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1490,18 +1490,18 @@ ex_getstats(struct ex_softc *sc) GO_WINDOW(6); upperok = bus_space_read_1(iot, ioh, UPPER_FRAMES_OK); - if_statadd_ref(nsr, if_opackets, + if_statadd_ref(ifp, nsr, if_opackets, bus_space_read_1(iot, ioh, TX_FRAMES_OK)); - if_statadd_ref(nsr, if_opackets, (upperok & 0x30) << 4); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_opackets, (upperok & 0x30) << 4); + if_statadd_ref(ifp, nsr, if_ierrors, bus_space_read_1(iot, ioh, RX_OVERRUNS)); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, bus_space_read_1(iot, ioh, TX_COLLISIONS)); /* * There seems to be no way to get the exact number of collisions, * this is the number that occurred at the very least. */ - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, 2 * bus_space_read_1(iot, ioh, TX_AFTER_X_COLLISIONS)); IF_STAT_PUTREF(ifp); Index: src/sys/dev/ic/gem.c diff -u src/sys/dev/ic/gem.c:1.136 src/sys/dev/ic/gem.c:1.137 --- src/sys/dev/ic/gem.c:1.136 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/ic/gem.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: gem.c,v 1.136 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: gem.c,v 1.137 2024/06/29 12:11:11 riastradh Exp $ */ /* * @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gem.c,v 1.136 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gem.c,v 1.137 2024/06/29 12:11:11 riastradh Exp $"); #include "opt_inet.h" @@ -1642,10 +1642,10 @@ gem_tint(struct gem_softc *sc) /* Unload collision counters ... */ v = bus_space_read_4(t, mac, GEM_MAC_EXCESS_COLL_CNT) + bus_space_read_4(t, mac, GEM_MAC_LATE_COLL_CNT); - if_statadd_ref(nsr, if_collisions, v + + if_statadd_ref(ifp, nsr, if_collisions, v + bus_space_read_4(t, mac, GEM_MAC_NORM_COLL_CNT) + bus_space_read_4(t, mac, GEM_MAC_FIRST_COLL_CNT)); - if_statadd_ref(nsr, if_oerrors, v); + if_statadd_ref(ifp, nsr, if_oerrors, v); /* ... then clear the hardware counters. */ bus_space_write_4(t, mac, GEM_MAC_NORM_COLL_CNT, 0); @@ -1715,7 +1715,7 @@ gem_tint(struct gem_softc *sc) SIMPLEQ_INSERT_TAIL(&sc->sc_txfreeq, txs, txs_q); - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); progress = 1; } Index: src/sys/dev/ic/hd64570.c diff -u src/sys/dev/ic/hd64570.c:1.58 src/sys/dev/ic/hd64570.c:1.59 --- src/sys/dev/ic/hd64570.c:1.58 Sat Feb 10 08:24:51 2024 +++ src/sys/dev/ic/hd64570.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hd64570.c,v 1.58 2024/02/10 08:24:51 andvar Exp $ */ +/* $NetBSD: hd64570.c,v 1.59 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 1999 Christian E. Hopps @@ -65,7 +65,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.58 2024/02/10 08:24:51 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.59 2024/06/29 12:11:11 riastradh Exp $"); #include "opt_inet.h" @@ -879,15 +879,15 @@ sca_output( IFQ_ENQUEUE(&ifp->if_snd, m, error); net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (error != 0) { - if_statinc_ref(nsr, if_oerrors); - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_collisions); IF_STAT_PUTREF(ifp); splx(s); return (error); } - if_statadd_ref(nsr, if_obytes, len); + if_statadd_ref(ifp, nsr, if_obytes, len); if (mflags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); sca_start(ifp); Index: src/sys/dev/ic/hme.c diff -u src/sys/dev/ic/hme.c:1.109 src/sys/dev/ic/hme.c:1.110 --- src/sys/dev/ic/hme.c:1.109 Sun May 29 10:43:46 2022 +++ src/sys/dev/ic/hme.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hme.c,v 1.109 2022/05/29 10:43:46 rin Exp $ */ +/* $NetBSD: hme.c,v 1.110 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hme.c,v 1.109 2022/05/29 10:43:46 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hme.c,v 1.110 2024/06/29 12:11:11 riastradh Exp $"); /* #define HMEDEBUG */ @@ -989,10 +989,10 @@ hme_tint(struct hme_softc *sc) /* * Unload collision counters */ - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, bus_space_read_4(t, mac, HME_MACI_NCCNT) + bus_space_read_4(t, mac, HME_MACI_FCCNT)); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, bus_space_read_4(t, mac, HME_MACI_EXCNT) + bus_space_read_4(t, mac, HME_MACI_LTCNT)); @@ -1017,7 +1017,7 @@ hme_tint(struct hme_softc *sc) break; ifp->if_flags &= ~IFF_OACTIVE; - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); if (++ri == sc->sc_rb.rb_ntbuf) ri = 0; @@ -1114,13 +1114,13 @@ hme_eint(struct hme_softc *sc, u_int sta /* Receive error counters rolled over */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (status & HME_SEB_STAT_ACNTEXP) - if_statadd_ref(nsr, if_ierrors, 0xff); + if_statadd_ref(ifp, nsr, if_ierrors, 0xff); if (status & HME_SEB_STAT_CCNTEXP) - if_statadd_ref(nsr, if_ierrors, 0xff); + if_statadd_ref(ifp, nsr, if_ierrors, 0xff); if (status & HME_SEB_STAT_LCNTEXP) - if_statadd_ref(nsr, if_ierrors, 0xff); + if_statadd_ref(ifp, nsr, if_ierrors, 0xff); if (status & HME_SEB_STAT_CVCNTEXP) - if_statadd_ref(nsr, if_ierrors, 0xff); + if_statadd_ref(ifp, nsr, if_ierrors, 0xff); IF_STAT_PUTREF(ifp); /* RXTERR locks up the interface, so do a reset */ Index: src/sys/dev/ic/i82557.c diff -u src/sys/dev/ic/i82557.c:1.161 src/sys/dev/ic/i82557.c:1.162 --- src/sys/dev/ic/i82557.c:1.161 Fri Feb 9 22:08:34 2024 +++ src/sys/dev/ic/i82557.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: i82557.c,v 1.161 2024/02/09 22:08:34 andvar Exp $ */ +/* $NetBSD: i82557.c,v 1.162 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 1997, 1998, 1999, 2001, 2002 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.161 2024/02/09 22:08:34 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.162 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1480,14 +1480,15 @@ fxp_tick(void *arg) FXP_CDSTATSSYNC(sc, BUS_DMASYNC_POSTREAD); - if_statadd_ref(nsr, if_opackets, le32toh(sp->tx_good)); - if_statadd_ref(nsr, if_collisions, le32toh(sp->tx_total_collisions)); + if_statadd_ref(ifp, nsr, if_opackets, le32toh(sp->tx_good)); + if_statadd_ref(ifp, nsr, if_collisions, + le32toh(sp->tx_total_collisions)); if (sp->rx_good) { sc->sc_rxidle = 0; } else if (sc->sc_flags & FXPF_RECV_WORKAROUND) { sc->sc_rxidle++; } - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, le32toh(sp->rx_crc_errors) + le32toh(sp->rx_alignment_errors) + le32toh(sp->rx_rnr_errors) + @@ -1497,7 +1498,8 @@ fxp_tick(void *arg) * threshold by another 512 bytes (64 * 8). */ if (sp->tx_underruns) { - if_statadd_ref(nsr, if_oerrors, le32toh(sp->tx_underruns)); + if_statadd_ref(ifp, nsr, if_oerrors, + le32toh(sp->tx_underruns)); if (tx_threshold < 192) tx_threshold += 64; } Index: src/sys/dev/ic/mb86960.c diff -u src/sys/dev/ic/mb86960.c:1.97 src/sys/dev/ic/mb86960.c:1.98 --- src/sys/dev/ic/mb86960.c:1.97 Fri Jun 2 08:51:47 2023 +++ src/sys/dev/ic/mb86960.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: mb86960.c,v 1.97 2023/06/02 08:51:47 andvar Exp $ */ +/* $NetBSD: mb86960.c,v 1.98 2024/06/29 12:11:11 riastradh Exp $ */ /* * All Rights Reserved, Copyright (C) Fujitsu Limited 1995 @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mb86960.c,v 1.97 2023/06/02 08:51:47 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mb86960.c,v 1.98 2024/06/29 12:11:11 riastradh Exp $"); /* * Device driver for Fujitsu MB86960A/MB86965A based Ethernet cards. @@ -819,9 +819,9 @@ mb86960_tint(struct mb86960_softc *sc, u * Update statistics. */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_collisions, 16); - if_statinc_ref(nsr, if_oerrors); - if_statadd_ref(nsr, if_opackets, sc->txb_sched - left); + if_statadd_ref(ifp, nsr, if_collisions, 16); + if_statinc_ref(ifp, nsr, if_oerrors); + if_statadd_ref(ifp, nsr, if_opackets, sc->txb_sched - left); IF_STAT_PUTREF(ifp); /* Index: src/sys/dev/ic/smc83c170.c diff -u src/sys/dev/ic/smc83c170.c:1.97 src/sys/dev/ic/smc83c170.c:1.98 --- src/sys/dev/ic/smc83c170.c:1.97 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/ic/smc83c170.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: smc83c170.c,v 1.97 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: smc83c170.c,v 1.98 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: smc83c170.c,v 1.97 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: smc83c170.c,v 1.98 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -760,11 +760,11 @@ epic_intr(void *arg) */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if ((txstatus & ET_TXSTAT_PACKETTX) == 0) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); else - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); if (TXSTAT_COLLISIONS(txstatus)) - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, TXSTAT_COLLISIONS(txstatus)); if (txstatus & ET_TXSTAT_CARSENSELOST) printf("%s: lost carrier\n", Index: src/sys/dev/ic/rtl8169.c diff -u src/sys/dev/ic/rtl8169.c:1.175 src/sys/dev/ic/rtl8169.c:1.176 --- src/sys/dev/ic/rtl8169.c:1.175 Sun Sep 25 18:43:32 2022 +++ src/sys/dev/ic/rtl8169.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: rtl8169.c,v 1.175 2022/09/25 18:43:32 thorpej Exp $ */ +/* $NetBSD: rtl8169.c,v 1.176 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 1997, 1998-2003 @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.175 2022/09/25 18:43:32 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.176 2024/06/29 12:11:11 riastradh Exp $"); /* $FreeBSD: /repoman/r/ncvs/src/sys/dev/re/if_re.c,v 1.20 2004/04/11 20:34:08 ru Exp $ */ /* @@ -1471,11 +1471,11 @@ re_txeof(struct rtk_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & (RE_TDESC_STAT_EXCESSCOL | RE_TDESC_STAT_COLCNT)) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); if (txstat & RE_TDESC_STAT_TXERRSUM) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); else - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); } Index: src/sys/dev/ic/rtl81x9.c diff -u src/sys/dev/ic/rtl81x9.c:1.114 src/sys/dev/ic/rtl81x9.c:1.115 --- src/sys/dev/ic/rtl81x9.c:1.114 Sun May 21 18:01:38 2023 +++ src/sys/dev/ic/rtl81x9.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: rtl81x9.c,v 1.114 2023/05/21 18:01:38 andvar Exp $ */ +/* $NetBSD: rtl81x9.c,v 1.115 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 1997, 1998 @@ -86,7 +86,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtl81x9.c,v 1.114 2023/05/21 18:01:38 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtl81x9.c,v 1.115 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -1118,13 +1118,13 @@ rtk_txeof(struct rtk_softc *sc) txd->txd_mbuf = NULL; net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, (txstat & RTK_TXSTAT_COLLCNT) >> 24); if (txstat & RTK_TXSTAT_TX_OK) - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); else { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); /* * Increase Early TX threshold if underrun occurred. Index: src/sys/dev/ic/tulip.c diff -u src/sys/dev/ic/tulip.c:1.211 src/sys/dev/ic/tulip.c:1.212 --- src/sys/dev/ic/tulip.c:1.211 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/ic/tulip.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: tulip.c,v 1.211 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: tulip.c,v 1.212 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 1998, 1999, 2000, 2002 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tulip.c,v 1.211 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tulip.c,v 1.212 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> @@ -1485,17 +1485,17 @@ tlp_txintr(struct tulip_softc *sc) #endif net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & (TDSTAT_Tx_UF | TDSTAT_Tx_TO)) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); if (txstat & TDSTAT_Tx_EC) - if_statadd_ref(nsr, if_collisions, 16); + if_statadd_ref(ifp, nsr, if_collisions, 16); else - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, TDSTAT_Tx_COLLISIONS(txstat)); if (txstat & TDSTAT_Tx_LC) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); } Index: src/sys/dev/pci/if_age.c diff -u src/sys/dev/pci/if_age.c:1.73 src/sys/dev/pci/if_age.c:1.74 --- src/sys/dev/pci/if_age.c:1.73 Sat Sep 17 13:51:09 2022 +++ src/sys/dev/pci/if_age.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_age.c,v 1.73 2022/09/17 13:51:09 thorpej Exp $ */ +/* $NetBSD: if_age.c,v 1.74 2024/06/29 12:11:11 riastradh Exp $ */ /* $OpenBSD: if_age.c,v 1.1 2009/01/16 05:00:34 kevlo Exp $ */ /*- @@ -31,7 +31,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_age.c,v 1.73 2022/09/17 13:51:09 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_age.c,v 1.74 2024/06/29 12:11:11 riastradh Exp $"); #include "vlan.h" @@ -2055,19 +2055,19 @@ age_stats_update(struct age_softc *sc) /* Update counters in ifnet. */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_opackets, smb->tx_frames); + if_statadd_ref(ifp, nsr, if_opackets, smb->tx_frames); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, smb->tx_single_colls + smb->tx_multi_colls + smb->tx_late_colls + smb->tx_excess_colls * HDPX_CFG_RETRY_DEFAULT); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, smb->tx_excess_colls + smb->tx_late_colls + smb->tx_underrun + smb->tx_pkts_truncated); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, smb->rx_crcerrs + smb->rx_lenerrs + smb->rx_runts + smb->rx_pkts_truncated + smb->rx_fifo_oflows + smb->rx_desc_oflows + Index: src/sys/dev/pci/if_alc.c diff -u src/sys/dev/pci/if_alc.c:1.53 src/sys/dev/pci/if_alc.c:1.54 --- src/sys/dev/pci/if_alc.c:1.53 Sat Sep 17 13:55:35 2022 +++ src/sys/dev/pci/if_alc.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_alc.c,v 1.53 2022/09/17 13:55:35 thorpej Exp $ */ +/* $NetBSD: if_alc.c,v 1.54 2024/06/29 12:11:11 riastradh Exp $ */ /* $OpenBSD: if_alc.c,v 1.1 2009/08/08 09:31:13 kevlo Exp $ */ /*- * Copyright (c) 2009, Pyun YongHyeon <yong...@freebsd.org> @@ -2288,18 +2288,18 @@ alc_stats_update(struct alc_softc *sc) /* Update counters in ifnet. */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_opackets, smb->tx_frames); + if_statadd_ref(ifp, nsr, if_opackets, smb->tx_frames); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, smb->tx_single_colls + smb->tx_multi_colls * 2 + smb->tx_late_colls + smb->tx_excess_colls * HDPX_CFG_RETRY_DEFAULT); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, smb->tx_late_colls + smb->tx_excess_colls + smb->tx_underrun + smb->tx_pkts_truncated); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, smb->rx_crcerrs + smb->rx_lenerrs + smb->rx_runts + smb->rx_pkts_truncated + smb->rx_fifo_oflows + smb->rx_rrs_errs + Index: src/sys/dev/pci/if_ale.c diff -u src/sys/dev/pci/if_ale.c:1.43 src/sys/dev/pci/if_ale.c:1.44 --- src/sys/dev/pci/if_ale.c:1.43 Mon Aug 22 15:59:42 2022 +++ src/sys/dev/pci/if_ale.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ale.c,v 1.43 2022/08/22 15:59:42 thorpej Exp $ */ +/* $NetBSD: if_ale.c,v 1.44 2024/06/29 12:11:11 riastradh Exp $ */ /*- * Copyright (c) 2008, Pyun YongHyeon <yong...@freebsd.org> @@ -32,7 +32,7 @@ /* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ale.c,v 1.43 2022/08/22 15:59:42 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ale.c,v 1.44 2024/06/29 12:11:11 riastradh Exp $"); #include "vlan.h" @@ -1253,9 +1253,9 @@ ale_stats_update(struct ale_softc *sc) /* Update counters in ifnet. */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_opackets, smb->tx_frames); + if_statadd_ref(ifp, nsr, if_opackets, smb->tx_frames); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, smb->tx_single_colls + smb->tx_multi_colls * 2 + smb->tx_late_colls + smb->tx_abort * HDPX_CFG_RETRY_DEFAULT); @@ -1267,11 +1267,11 @@ ale_stats_update(struct ale_softc *sc) * the counter name is not correct one so I've removed the * counter in output errors. */ - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, smb->tx_abort + smb->tx_late_colls + smb->tx_underrun); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, smb->rx_crcerrs + smb->rx_lenerrs + smb->rx_runts + smb->rx_pkts_truncated + smb->rx_fifo_oflows + smb->rx_rrs_errs + Index: src/sys/dev/pci/if_aq.c diff -u src/sys/dev/pci/if_aq.c:1.47 src/sys/dev/pci/if_aq.c:1.48 --- src/sys/dev/pci/if_aq.c:1.47 Sat Mar 9 22:03:32 2024 +++ src/sys/dev/pci/if_aq.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_aq.c,v 1.47 2024/03/09 22:03:32 mrg Exp $ */ +/* $NetBSD: if_aq.c,v 1.48 2024/06/29 12:11:11 riastradh Exp $ */ /** * aQuantia Corporation Network Driver @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.47 2024/03/09 22:03:32 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.48 2024/06/29 12:11:11 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_if_aq.h" @@ -5439,10 +5439,10 @@ aq_tx_intr(void *arg) bus_dmamap_unload(sc->sc_dmat, txring->txr_mbufs[idx].dmamap); - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); m_freem(m); txring->txr_mbufs[idx].m = NULL; @@ -5526,7 +5526,7 @@ aq_rx_intr(void *arg) if ((rxd_status & RXDESC_STATUS_MACERR) || (rxd_type & RXDESC_TYPE_MAC_DMA_ERR)) { - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); if (m0 != NULL) { m_freem(m0); m0 = mprev = NULL; @@ -5546,7 +5546,7 @@ aq_rx_intr(void *arg) * cannot allocate new mbuf. * discard this packet, and reuse mbuf for next. */ - if_statinc_ref(nsr, if_iqdrops); + if_statinc_ref(ifp, nsr, if_iqdrops); if (m0 != NULL) { m_freem(m0); m0 = mprev = NULL; @@ -5657,8 +5657,8 @@ aq_rx_intr(void *arg) } m_set_rcvif(m0, ifp); - if_statinc_ref(nsr, if_ipackets); - if_statadd_ref(nsr, if_ibytes, m0->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_ipackets); + if_statadd_ref(ifp, nsr, if_ibytes, m0->m_pkthdr.len); if_percpuq_enqueue(ifp->if_percpuq, m0); m0 = mprev = NULL; } Index: src/sys/dev/pci/if_cas.c diff -u src/sys/dev/pci/if_cas.c:1.47 src/sys/dev/pci/if_cas.c:1.48 --- src/sys/dev/pci/if_cas.c:1.47 Sat Sep 24 18:12:42 2022 +++ src/sys/dev/pci/if_cas.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_cas.c,v 1.47 2022/09/24 18:12:42 thorpej Exp $ */ +/* $NetBSD: if_cas.c,v 1.48 2024/06/29 12:11:11 riastradh Exp $ */ /* $OpenBSD: if_cas.c,v 1.29 2009/11/29 16:19:38 kettenis Exp $ */ /* @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_cas.c,v 1.47 2022/09/24 18:12:42 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_cas.c,v 1.48 2024/06/29 12:11:11 riastradh Exp $"); #ifndef _MODULE #include "opt_inet.h" @@ -839,13 +839,13 @@ cas_tick(void *arg) /* unload collisions counters */ v = bus_space_read_4(t, mac, CAS_MAC_EXCESS_COLL_CNT) + bus_space_read_4(t, mac, CAS_MAC_LATE_COLL_CNT); - if_statadd_ref(nsr, if_collisions, v + + if_statadd_ref(ifp, nsr, if_collisions, v + bus_space_read_4(t, mac, CAS_MAC_NORM_COLL_CNT) + bus_space_read_4(t, mac, CAS_MAC_FIRST_COLL_CNT)); - if_statadd_ref(nsr, if_oerrors, v); + if_statadd_ref(ifp, nsr, if_oerrors, v); /* read error counters */ - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, bus_space_read_4(t, mac, CAS_MAC_RX_LEN_ERR_CNT) + bus_space_read_4(t, mac, CAS_MAC_RX_ALIGN_ERR) + bus_space_read_4(t, mac, CAS_MAC_RX_CRC_ERR_CNT) + Index: src/sys/dev/pci/if_bge.c diff -u src/sys/dev/pci/if_bge.c:1.391 src/sys/dev/pci/if_bge.c:1.392 --- src/sys/dev/pci/if_bge.c:1.391 Mon Apr 1 22:56:55 2024 +++ src/sys/dev/pci/if_bge.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bge.c,v 1.391 2024/04/01 22:56:55 andvar Exp $ */ +/* $NetBSD: if_bge.c,v 1.392 2024/06/29 12:11:11 riastradh Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -79,7 +79,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.391 2024/04/01 22:56:55 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.392 2024/06/29 12:11:11 riastradh Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -4878,7 +4878,7 @@ bge_stats_update_regs(struct bge_softc * net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, CSR_READ_4(sc, BGE_MAC_STATS + offsetof(struct bge_mac_stats_regs, etherStatsCollisions))); @@ -4891,12 +4891,12 @@ bge_stats_update_regs(struct bge_softc * if (BGE_ASICREV(sc->bge_chipid) != BGE_ASICREV_BCM5717 && sc->bge_chipid != BGE_CHIPID_BCM5719_A0 && sc->bge_chipid != BGE_CHIPID_BCM5720_A0) { - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, CSR_READ_4(sc, BGE_RXLP_LOCSTAT_IFIN_DROPS)); } - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, CSR_READ_4(sc, BGE_RXLP_LOCSTAT_IFIN_ERRORS)); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, CSR_READ_4(sc, BGE_RXLP_LOCSTAT_OUT_OF_BDS)); IF_STAT_PUTREF(ifp); Index: src/sys/dev/pci/if_bnx.c diff -u src/sys/dev/pci/if_bnx.c:1.114 src/sys/dev/pci/if_bnx.c:1.115 --- src/sys/dev/pci/if_bnx.c:1.114 Tue Apr 23 15:34:07 2024 +++ src/sys/dev/pci/if_bnx.c Sat Jun 29 12:11:11 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bnx.c,v 1.114 2024/04/23 15:34:07 hans Exp $ */ +/* $NetBSD: if_bnx.c,v 1.115 2024/06/29 12:11:11 riastradh Exp $ */ /* $OpenBSD: if_bnx.c,v 1.101 2013/03/28 17:21:44 brad Exp $ */ /*- @@ -35,7 +35,7 @@ #if 0 __FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.3 2006/04/13 14:12:26 ru Exp $"); #endif -__KERNEL_RCSID(0, "$NetBSD: if_bnx.c,v 1.114 2024/04/23 15:34:07 hans Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bnx.c,v 1.115 2024/06/29 12:11:11 riastradh Exp $"); /* * The following controllers are supported by this driver: @@ -5680,7 +5680,8 @@ bnx_stats_update(struct bnx_softc *sc) * hardware statistics. */ value = (u_long)stats->stat_EtherStatsCollisions; - if_statadd_ref(nsr, if_collisions, value - sc->if_stat_collisions); + if_statadd_ref(ifp, nsr, if_collisions, + value - sc->if_stat_collisions); sc->if_stat_collisions = value; value = (u_long)stats->stat_EtherStatsUndersizePkts + @@ -5688,14 +5689,14 @@ bnx_stats_update(struct bnx_softc *sc) (u_long)stats->stat_IfInMBUFDiscards + (u_long)stats->stat_Dot3StatsAlignmentErrors + (u_long)stats->stat_Dot3StatsFCSErrors; - if_statadd_ref(nsr, if_ierrors, value - sc->if_stat_ierrors); + if_statadd_ref(ifp, nsr, if_ierrors, value - sc->if_stat_ierrors); sc->if_stat_ierrors = value; value = (u_long) stats->stat_emac_tx_stat_dot3statsinternalmactransmiterrors + (u_long)stats->stat_Dot3StatsExcessiveCollisions + (u_long)stats->stat_Dot3StatsLateCollisions; - if_statadd_ref(nsr, if_oerrors, value - sc->if_stat_oerrors); + if_statadd_ref(ifp, nsr, if_oerrors, value - sc->if_stat_oerrors); sc->if_stat_oerrors = value; /* @@ -5705,7 +5706,7 @@ bnx_stats_update(struct bnx_softc *sc) */ if (!(BNX_CHIP_NUM(sc) == BNX_CHIP_NUM_5706) && !(BNX_CHIP_ID(sc) == BNX_CHIP_ID_5708_A0)) { - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, (u_long) stats->stat_Dot3StatsCarrierSenseErrors); } Index: src/sys/dev/pci/if_ena.c diff -u src/sys/dev/pci/if_ena.c:1.41 src/sys/dev/pci/if_ena.c:1.42 --- src/sys/dev/pci/if_ena.c:1.41 Wed Dec 20 18:09:19 2023 +++ src/sys/dev/pci/if_ena.c Sat Jun 29 12:11:12 2024 @@ -32,7 +32,7 @@ #if 0 __FBSDID("$FreeBSD: head/sys/dev/ena/ena.c 333456 2018-05-10 09:37:54Z mw $"); #endif -__KERNEL_RCSID(0, "$NetBSD: if_ena.c,v 1.41 2023/12/20 18:09:19 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ena.c,v 1.42 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -2946,12 +2946,13 @@ ena_start_xmit(struct ena_ring *tx_ring) mbuf, mbuf->m_flags, (uint64_t)mbuf->m_pkthdr.csum_flags); if (likely((ret = ena_xmit_mbuf(tx_ring, &mbuf)) == 0)) { - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, mbuf->m_pkthdr.len); + if_statinc_ref(adapter->ifp, nsr, if_opackets); + if_statadd_ref(adapter->ifp, nsr, if_obytes, + mbuf->m_pkthdr.len); if (ISSET(mbuf->m_flags, M_MCAST)) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(adapter->ifp, nsr, if_omcasts); } else { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(adapter->ifp, nsr, if_oerrors); m_freem(mbuf); break; } Index: src/sys/dev/pci/if_iavf.c diff -u src/sys/dev/pci/if_iavf.c:1.17 src/sys/dev/pci/if_iavf.c:1.18 --- src/sys/dev/pci/if_iavf.c:1.17 Sun Jun 2 19:27:12 2024 +++ src/sys/dev/pci/if_iavf.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_iavf.c,v 1.17 2024/06/02 19:27:12 andvar Exp $ */ +/* $NetBSD: if_iavf.c,v 1.18 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2013-2015, Intel Corporation @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_iavf.c,v 1.17 2024/06/02 19:27:12 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_iavf.c,v 1.18 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -2710,12 +2710,12 @@ iavf_rxeof(struct iavf_softc *sc, struct if (!ISSET(word, IXL_RX_DESC_RXE | IXL_RX_DESC_OVERSIZE)) { m_set_rcvif(m, ifp); - if_statinc_ref(nsr, if_ipackets); - if_statadd_ref(nsr, if_ibytes, + if_statinc_ref(ifp, nsr, if_ipackets); + if_statadd_ref(ifp, nsr, if_ibytes, m->m_pkthdr.len); if_percpuq_enqueue(sc->sc_ipq, m); } else { - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); m_freem(m); } @@ -2733,7 +2733,7 @@ iavf_rxeof(struct iavf_softc *sc, struct ecnt->ev_count++; rxr->rxr_cons = cons; if (iavf_rxfill(sc, rxr) == -1) - if_statinc_ref(nsr, if_iqdrops); + if_statinc_ref(ifp, nsr, if_iqdrops); } IF_STAT_PUTREF(ifp); @@ -2830,10 +2830,10 @@ iavf_txeof(struct iavf_softc *sc, struct m = txm->txm_m; if (m != NULL) { - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (ISSET(m->m_flags, M_MCAST)) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); m_freem(m); } Index: src/sys/dev/pci/if_ixl.c diff -u src/sys/dev/pci/if_ixl.c:1.98 src/sys/dev/pci/if_ixl.c:1.99 --- src/sys/dev/pci/if_ixl.c:1.98 Fri Feb 9 22:08:35 2024 +++ src/sys/dev/pci/if_ixl.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ixl.c,v 1.98 2024/02/09 22:08:35 andvar Exp $ */ +/* $NetBSD: if_ixl.c,v 1.99 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2013-2015, Intel Corporation @@ -74,7 +74,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ixl.c,v 1.98 2024/02/09 22:08:35 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ixl.c,v 1.99 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_if_ixl.h" @@ -2823,10 +2823,10 @@ ixl_txeof(struct ixl_softc *sc, struct i m = txm->txm_m; if (m != NULL) { - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (ISSET(m->m_flags, M_MCAST)) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); m_freem(m); } @@ -3255,12 +3255,12 @@ ixl_rxeof(struct ixl_softc *sc, struct i if (!ISSET(word, IXL_RX_DESC_RXE | IXL_RX_DESC_OVERSIZE)) { m_set_rcvif(m, ifp); - if_statinc_ref(nsr, if_ipackets); - if_statadd_ref(nsr, if_ibytes, + if_statinc_ref(ifp, nsr, if_ipackets); + if_statadd_ref(ifp, nsr, if_ibytes, m->m_pkthdr.len); if_percpuq_enqueue(sc->sc_ipq, m); } else { - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); m_freem(m); } @@ -3277,7 +3277,7 @@ ixl_rxeof(struct ixl_softc *sc, struct i if (done) { rxr->rxr_cons = cons; if (ixl_rxfill(sc, rxr) == -1) - if_statinc_ref(nsr, if_iqdrops); + if_statinc_ref(ifp, nsr, if_iqdrops); } IF_STAT_PUTREF(ifp); Index: src/sys/dev/pci/if_rge.c diff -u src/sys/dev/pci/if_rge.c:1.31 src/sys/dev/pci/if_rge.c:1.32 --- src/sys/dev/pci/if_rge.c:1.31 Thu Jan 18 03:47:26 2024 +++ src/sys/dev/pci/if_rge.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_rge.c,v 1.31 2024/01/18 03:47:26 msaitoh Exp $ */ +/* $NetBSD: if_rge.c,v 1.32 2024/06/29 12:11:12 riastradh Exp $ */ /* $OpenBSD: if_rge.c,v 1.9 2020/12/12 11:48:53 jan Exp $ */ /* @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.31 2024/01/18 03:47:26 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.32 2024/06/29 12:11:12 riastradh Exp $"); #if defined(_KERNEL_OPT) #include "opt_net_mpsafe.h" @@ -1394,11 +1394,11 @@ rge_txeof(struct rge_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & (RGE_TDCMDSTS_EXCESSCOLL | RGE_TDCMDSTS_COLL)) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); if (txstat & RGE_TDCMDSTS_TXERR) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); else - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); bus_dmamap_sync(sc->sc_dmat, sc->rge_ldata.rge_tx_list_map, Index: src/sys/dev/pci/if_sip.c diff -u src/sys/dev/pci/if_sip.c:1.191 src/sys/dev/pci/if_sip.c:1.192 --- src/sys/dev/pci/if_sip.c:1.191 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/pci/if_sip.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_sip.c,v 1.191 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: if_sip.c,v 1.192 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. @@ -73,7 +73,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_sip.c,v 1.191 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_sip.c,v 1.192 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -2071,9 +2071,9 @@ sipcom_txintr(struct sip_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (cmdsts & (CMDSTS_Tx_TXA | CMDSTS_Tx_TFU | CMDSTS_Tx_ED | CMDSTS_Tx_EC)) { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); if (cmdsts & CMDSTS_Tx_EC) - if_statadd_ref(nsr, if_collisions, 16); + if_statadd_ref(ifp, nsr, if_collisions, 16); if (ifp->if_flags & IFF_DEBUG) { if (cmdsts & CMDSTS_Tx_ED) printf("%s: excessive deferral\n", @@ -2084,9 +2084,9 @@ sipcom_txintr(struct sip_softc *sc) } } else { /* Packet was transmitted successfully. */ - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); if (CMDSTS_COLLISIONS(cmdsts)) - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, CMDSTS_COLLISIONS(cmdsts)); } IF_STAT_PUTREF(ifp); Index: src/sys/dev/pci/if_ste.c diff -u src/sys/dev/pci/if_ste.c:1.65 src/sys/dev/pci/if_ste.c:1.66 --- src/sys/dev/pci/if_ste.c:1.65 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/pci/if_ste.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ste.c,v 1.65 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: if_ste.c,v 1.66 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ste.c,v 1.65 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ste.c,v 1.66 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> @@ -1155,22 +1155,22 @@ ste_stats_update(struct ste_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_opackets, + if_statadd_ref(ifp, nsr, if_opackets, (u_int) bus_space_read_2(st, sh, STE_FramesTransmittedOK)); (void) bus_space_read_2(st, sh, STE_FramesReceivedOK); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, (u_int) bus_space_read_1(st, sh, STE_LateCollisions) + (u_int) bus_space_read_1(st, sh, STE_MultipleColFrames) + (u_int) bus_space_read_1(st, sh, STE_SingleColFrames)); (void) bus_space_read_1(st, sh, STE_FramesWDeferredXmt); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, (u_int) bus_space_read_1(st, sh, STE_FramesLostRxErrors)); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, (u_int) bus_space_read_1(st, sh, STE_FramesWExDeferral) + (u_int) bus_space_read_1(st, sh, STE_FramesXbortXSColls) + bus_space_read_1(st, sh, STE_CarrierSenseErrors)); Index: src/sys/dev/pci/if_stge.c diff -u src/sys/dev/pci/if_stge.c:1.91 src/sys/dev/pci/if_stge.c:1.92 --- src/sys/dev/pci/if_stge.c:1.91 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/pci/if_stge.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_stge.c,v 1.91 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: if_stge.c,v 1.92 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_stge.c,v 1.91 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_stge.c,v 1.92 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> @@ -1447,20 +1447,20 @@ stge_stats_update(struct stge_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, (u_int) CSR_READ_2(sc, STGE_FramesLostRxErrors)); (void) CSR_READ_4(sc, STGE_OctetXmtdOk); - if_statadd_ref(nsr, if_opackets, + if_statadd_ref(ifp, nsr, if_opackets, CSR_READ_4(sc, STGE_FramesXmtdOk)); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, CSR_READ_4(sc, STGE_LateCollisions) + CSR_READ_4(sc, STGE_MultiColFrames) + CSR_READ_4(sc, STGE_SingleColFrames)); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, (u_int) CSR_READ_2(sc, STGE_FramesAbortXSColls) + (u_int) CSR_READ_2(sc, STGE_FramesWEXDeferal)); Index: src/sys/dev/pci/if_tl.c diff -u src/sys/dev/pci/if_tl.c:1.125 src/sys/dev/pci/if_tl.c:1.126 --- src/sys/dev/pci/if_tl.c:1.125 Fri Sep 2 23:48:10 2022 +++ src/sys/dev/pci/if_tl.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_tl.c,v 1.125 2022/09/02 23:48:10 thorpej Exp $ */ +/* $NetBSD: if_tl.c,v 1.126 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 1997 Manuel Bouyer. All rights reserved. @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_tl.c,v 1.125 2022/09/02 23:48:10 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_tl.c,v 1.126 2024/06/29 12:11:12 riastradh Exp $"); #undef TLDEBUG #define TL_PRIV_STATS @@ -1497,7 +1497,7 @@ tl_read_stats(tl_softc_t *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); reg = tl_intreg_read(sc, TL_INT_STATS_TX); - if_statadd_ref(nsr, if_opackets, reg & 0x00ffffff); + if_statadd_ref(ifp, nsr, if_opackets, reg & 0x00ffffff); oerr_underr = reg >> 24; reg = tl_intreg_read(sc, TL_INT_STATS_RX); @@ -1517,10 +1517,11 @@ tl_read_stats(tl_softc_t *sc) oerr_latecoll = (reg & TL_LERR_LCOLL) >> 8; oerr_carrloss = (reg & TL_LERR_CL) >> 16; - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, oerr_underr + oerr_exesscoll + oerr_latecoll + oerr_carrloss); - if_statadd_ref(nsr, if_collisions, oerr_coll + oerr_multicoll); - if_statadd_ref(nsr, if_ierrors, ierr_overr + ierr_code + ierr_crc); + if_statadd_ref(ifp, nsr, if_collisions, oerr_coll + oerr_multicoll); + if_statadd_ref(ifp, nsr, if_ierrors, + ierr_overr + ierr_code + ierr_crc); IF_STAT_PUTREF(ifp); if (ierr_overr) Index: src/sys/dev/pci/if_txp.c diff -u src/sys/dev/pci/if_txp.c:1.75 src/sys/dev/pci/if_txp.c:1.76 --- src/sys/dev/pci/if_txp.c:1.75 Sat Feb 10 09:30:06 2024 +++ src/sys/dev/pci/if_txp.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_txp.c,v 1.75 2024/02/10 09:30:06 andvar Exp $ */ +/* $NetBSD: if_txp.c,v 1.76 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2001 @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_txp.c,v 1.75 2024/02/10 09:30:06 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_txp.c,v 1.76 2024/06/29 12:11:12 riastradh Exp $"); #include "opt_inet.h" @@ -1421,14 +1421,14 @@ txp_tick(void *vsc) ext = (struct txp_ext_desc *)(rsp + 1); net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, ext[3].ext_2 + ext[3].ext_3 + ext[3].ext_4 + ext[4].ext_1 + ext[4].ext_4); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, ext[0].ext_1 + ext[1].ext_1 + ext[1].ext_4 + ext[2].ext_1); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, ext[0].ext_2 + ext[0].ext_3 + ext[1].ext_2 + ext[1].ext_3); - if_statadd_ref(nsr, if_opackets, rsp->rsp_par2); + if_statadd_ref(ifp, nsr, if_opackets, rsp->rsp_par2); IF_STAT_PUTREF(ifp); out: Index: src/sys/dev/pci/if_vge.c diff -u src/sys/dev/pci/if_vge.c:1.87 src/sys/dev/pci/if_vge.c:1.88 --- src/sys/dev/pci/if_vge.c:1.87 Fri Feb 9 22:08:36 2024 +++ src/sys/dev/pci/if_vge.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vge.c,v 1.87 2024/02/09 22:08:36 andvar Exp $ */ +/* $NetBSD: if_vge.c,v 1.88 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 2004 @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.87 2024/02/09 22:08:36 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.88 2024/06/29 12:11:12 riastradh Exp $"); /* * VIA Networking Technologies VT612x PCI gigabit ethernet NIC driver. @@ -1388,11 +1388,11 @@ vge_txeof(struct vge_softc *sc) txs->txs_mbuf = NULL; net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & (VGE_TDSTS_EXCESSCOLL | VGE_TDSTS_COLL)) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); if (txstat & VGE_TDSTS_TXERR) - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); else - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); } Index: src/sys/dev/pci/if_vioif.c diff -u src/sys/dev/pci/if_vioif.c:1.111 src/sys/dev/pci/if_vioif.c:1.112 --- src/sys/dev/pci/if_vioif.c:1.111 Thu Mar 21 12:33:21 2024 +++ src/sys/dev/pci/if_vioif.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vioif.c,v 1.111 2024/03/21 12:33:21 isaki Exp $ */ +/* $NetBSD: if_vioif.c,v 1.112 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2020 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.111 2024/03/21 12:33:21 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.112 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -845,9 +845,9 @@ vioif_transmit(struct ifnet *ifp, struct } net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); if (mutex_tryenter(&netq->netq_lock)) { Index: src/sys/dev/pci/if_vmx.c diff -u src/sys/dev/pci/if_vmx.c:1.15 src/sys/dev/pci/if_vmx.c:1.16 --- src/sys/dev/pci/if_vmx.c:1.15 Wed Mar 6 20:02:24 2024 +++ src/sys/dev/pci/if_vmx.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vmx.c,v 1.15 2024/03/06 20:02:24 andvar Exp $ */ +/* $NetBSD: if_vmx.c,v 1.16 2024/06/29 12:11:12 riastradh Exp $ */ /* $OpenBSD: if_vmx.c,v 1.16 2014/01/22 06:04:17 brad Exp $ */ /* @@ -19,7 +19,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.15 2024/03/06 20:02:24 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.16 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_if_vmx.h" @@ -2160,10 +2160,10 @@ vmxnet3_txq_eof(struct vmxnet3_txqueue * BUS_DMASYNC_POSTWRITE); bus_dmamap_unload(sc->vmx_dmat, txb->vtxb_dmamap); - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); m_freem(m); txb->vtxb_m = NULL; @@ -2338,8 +2338,8 @@ vmxnet3_rxq_input(struct vmxnet3_rxqueue vlan_set_tag(m, rxcd->vtag); net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statinc_ref(nsr, if_ipackets); - if_statadd_ref(nsr, if_ibytes, m->m_pkthdr.len); + if_statinc_ref(ifp, nsr, if_ipackets); + if_statadd_ref(ifp, nsr, if_ibytes, m->m_pkthdr.len); IF_STAT_PUTREF(ifp); if_percpuq_enqueue(ifp->if_percpuq, m); Index: src/sys/dev/pci/if_vr.c diff -u src/sys/dev/pci/if_vr.c:1.137 src/sys/dev/pci/if_vr.c:1.138 --- src/sys/dev/pci/if_vr.c:1.137 Sat Sep 24 18:12:43 2022 +++ src/sys/dev/pci/if_vr.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vr.c,v 1.137 2022/09/24 18:12:43 thorpej Exp $ */ +/* $NetBSD: if_vr.c,v 1.138 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vr.c,v 1.137 2022/09/24 18:12:43 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vr.c,v 1.138 2024/06/29 12:11:12 riastradh Exp $"); @@ -881,16 +881,16 @@ vr_txeof(struct vr_softc *sc) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (txstat & VR_TXSTAT_ERRSUM) { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); if (txstat & VR_TXSTAT_DEFER) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); if (txstat & VR_TXSTAT_LATECOLL) - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_collisions); } - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, (txstat & VR_TXSTAT_COLLCNT) >> 3); - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); IF_STAT_PUTREF(ifp); } Index: src/sys/dev/pci/if_vte.c diff -u src/sys/dev/pci/if_vte.c:1.35 src/sys/dev/pci/if_vte.c:1.36 --- src/sys/dev/pci/if_vte.c:1.35 Sat Sep 24 18:12:43 2022 +++ src/sys/dev/pci/if_vte.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vte.c,v 1.35 2022/09/24 18:12:43 thorpej Exp $ */ +/* $NetBSD: if_vte.c,v 1.36 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2011 Manuel Bouyer. All rights reserved. @@ -55,7 +55,7 @@ /* Driver for DM&P Electronics, Inc, Vortex86 RDC R6040 FastEthernet. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vte.c,v 1.35 2022/09/24 18:12:43 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vte.c,v 1.36 2024/06/29 12:11:12 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -926,25 +926,25 @@ vte_stats_update(struct vte_softc *sc) stat->rx_mcast_frames += (value & 0xFF); value = CSR_READ_2(sc, VTE_CNT_MECNT1); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, (value >> 8) + /* rx_runts */ (value & 0xFF)); /* rx_crcerrs */ value = CSR_READ_2(sc, VTE_CNT_MECNT2); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, (value & 0xFF)); /* rx_long_frames */ value = CSR_READ_2(sc, VTE_CNT_MECNT3); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, (value >> 8)); /* rx_fifo_full */ stat->rx_desc_unavail += (value & 0xFF); /* TX stats. */ - if_statadd_ref(nsr, if_opackets, + if_statadd_ref(ifp, nsr, if_opackets, CSR_READ_2(sc, VTE_CNT_TX_DONE)); /* tx_frames */ value = CSR_READ_2(sc, VTE_CNT_MECNT4); - if_statadd_ref(nsr, if_oerrors, + if_statadd_ref(ifp, nsr, if_oerrors, (value >> 8) + /* tx_underruns */ (value & 0xFF)); /* tx_late_colls */ Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.798 src/sys/dev/pci/if_wm.c:1.799 --- src/sys/dev/pci/if_wm.c:1.798 Wed Feb 21 12:23:52 2024 +++ src/sys/dev/pci/if_wm.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.798 2024/02/21 12:23:52 msaitoh Exp $ */ +/* $NetBSD: if_wm.c,v 1.799 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.798 2024/02/21 12:23:52 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.799 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -6820,8 +6820,8 @@ wm_update_stats(struct wm_softc *sc) } } net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_collisions, colc); - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_collisions, colc); + if_statadd_ref(ifp, nsr, if_ierrors, crcerrs + algnerrc + symerrc + rxerrc + sec + cexterr + rlec); /* * WMREG_RNBC is incremented when there are no available buffers in @@ -6832,7 +6832,7 @@ wm_update_stats(struct wm_softc *sc) * If you want to know the nubmer of WMREG_RMBC, you should use such as * own EVCNT instead of if_iqdrops. */ - if_statadd_ref(nsr, if_iqdrops, mpc + total_qdrop); + if_statadd_ref(ifp, nsr, if_iqdrops, mpc + total_qdrop); IF_STAT_PUTREF(ifp); } @@ -8909,9 +8909,9 @@ wm_transmit(struct ifnet *ifp, struct mb } net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); if (mutex_tryenter(txq->txq_lock)) { @@ -9516,9 +9516,9 @@ wm_nq_transmit(struct ifnet *ifp, struct } net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); /* Index: src/sys/dev/pci/igc/if_igc.c diff -u src/sys/dev/pci/igc/if_igc.c:1.14 src/sys/dev/pci/igc/if_igc.c:1.15 --- src/sys/dev/pci/igc/if_igc.c:1.14 Wed Jun 12 06:21:37 2024 +++ src/sys/dev/pci/igc/if_igc.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_igc.c,v 1.14 2024/06/12 06:21:37 rin Exp $ */ +/* $NetBSD: if_igc.c,v 1.15 2024/06/29 12:11:12 riastradh Exp $ */ /* $OpenBSD: if_igc.c,v 1.13 2023/04/28 10:18:57 bluhm Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.14 2024/06/12 06:21:37 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.15 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_if_igc.h" @@ -1713,7 +1713,7 @@ igc_tx_common_locked(struct ifnet *ifp, if (caller == IGC_TX_TRANSMIT) IGC_QUEUE_EVENT(q, tx_pcq_drop, 1); m_freem(m); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); continue; } @@ -1757,9 +1757,9 @@ igc_tx_common_locked(struct ifnet *ifp, bpf_mtap(ifp, m, BPF_D_OUT); - if_statadd_ref(nsr, if_obytes, m->m_pkthdr.len); + if_statadd_ref(ifp, nsr, if_obytes, m->m_pkthdr.len); if (m->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IGC_QUEUE_EVENT(q, tx_packets, 1); IGC_QUEUE_EVENT(q, tx_bytes, m->m_pkthdr.len); Index: src/sys/dev/pci/ixgbe/ix_txrx.c diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.116 src/sys/dev/pci/ixgbe/ix_txrx.c:1.117 --- src/sys/dev/pci/ixgbe/ix_txrx.c:1.116 Sat Dec 30 06:16:44 2023 +++ src/sys/dev/pci/ixgbe/ix_txrx.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.116 2023/12/30 06:16:44 msaitoh Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.117 2024/06/29 12:11:12 riastradh Exp $ */ /****************************************************************************** @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.116 2023/12/30 06:16:44 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.117 2024/06/29 12:11:12 riastradh Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -561,9 +561,9 @@ retry: IXGBE_WRITE_REG(&sc->hw, txr->tail, i); net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_obytes, m_head->m_pkthdr.len); + if_statadd_ref(ifp, nsr, if_obytes, m_head->m_pkthdr.len); if (m_head->m_flags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); /* Mark queue as having work */ Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.351 src/sys/dev/pci/ixgbe/ixgbe.c:1.352 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.351 Thu May 30 08:55:02 2024 +++ src/sys/dev/pci/ixgbe/ixgbe.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.351 2024/05/30 08:55:02 msaitoh Exp $ */ +/* $NetBSD: ixgbe.c,v 1.352 2024/06/29 12:11:12 riastradh Exp $ */ /****************************************************************************** @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.351 2024/05/30 08:55:02 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.352 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1798,7 +1798,7 @@ ixgbe_update_stats_counters(struct ixgbe * normal RX counters are prepared in ether_input(). */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_iqdrops, total_missed_rx + total_qprdc); + if_statadd_ref(ifp, nsr, if_iqdrops, total_missed_rx + total_qprdc); /* * Aggregate following types of errors as RX errors: @@ -1810,7 +1810,7 @@ ixgbe_update_stats_counters(struct ixgbe * - oversized packets count, * - jabber count. */ - if_statadd_ref(nsr, if_ierrors, + if_statadd_ref(ifp, nsr, if_ierrors, crcerrs + illerrc + rlec + ruc + rfc + roc + rjc); IF_STAT_PUTREF(ifp); Index: src/sys/dev/sbus/qe.c diff -u src/sys/dev/sbus/qe.c:1.79 src/sys/dev/sbus/qe.c:1.80 --- src/sys/dev/sbus/qe.c:1.79 Sun Sep 25 18:03:04 2022 +++ src/sys/dev/sbus/qe.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: qe.c,v 1.79 2022/09/25 18:03:04 thorpej Exp $ */ +/* $NetBSD: qe.c,v 1.80 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: qe.c,v 1.79 2022/09/25 18:03:04 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: qe.c,v 1.80 2024/06/29 12:11:12 riastradh Exp $"); #define QEDEBUG @@ -702,18 +702,18 @@ qe_eint(struct qe_softc *sc, uint32_t wh if (why & QE_CR_STAT_EDEFER) { printf("%s: excessive tx defers.\n", xname); r |= 1; - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } if (why & QE_CR_STAT_CLOSS) { printf("%s: no carrier, link down?\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); r |= 1; } if (why & QE_CR_STAT_ERETRIES) { printf("%s: excessive tx retries\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); r |= 1; rst = 1; } @@ -721,14 +721,14 @@ qe_eint(struct qe_softc *sc, uint32_t wh if (why & QE_CR_STAT_LCOLL) { printf("%s: late tx transmission\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); r |= 1; rst = 1; } if (why & QE_CR_STAT_FUFLOW) { printf("%s: tx fifo underflow\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); r |= 1; rst = 1; } @@ -744,8 +744,8 @@ qe_eint(struct qe_softc *sc, uint32_t wh } if (why & QE_CR_STAT_TCCOFLOW) { - if_statadd_ref(nsr, if_collisions, 256); - if_statadd_ref(nsr, if_oerrors, 256); + if_statadd_ref(ifp, nsr, if_collisions, 256); + if_statadd_ref(ifp, nsr, if_oerrors, 256); r |= 1; } @@ -757,94 +757,94 @@ qe_eint(struct qe_softc *sc, uint32_t wh if (why & QE_CR_STAT_TXLERR) { printf("%s: tx late error\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); rst = 1; r |= 1; } if (why & QE_CR_STAT_TXPERR) { printf("%s: tx DMA parity error\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); rst = 1; r |= 1; } if (why & QE_CR_STAT_TXSERR) { printf("%s: tx DMA sbus error ack\n", xname); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); rst = 1; r |= 1; } if (why & QE_CR_STAT_RCCOFLOW) { - if_statadd_ref(nsr, if_collisions, 256); - if_statadd_ref(nsr, if_ierrors, 256); + if_statadd_ref(ifp, nsr, if_collisions, 256); + if_statadd_ref(ifp, nsr, if_ierrors, 256); r |= 1; } if (why & QE_CR_STAT_RUOFLOW) { - if_statadd_ref(nsr, if_ierrors, 256); + if_statadd_ref(ifp, nsr, if_ierrors, 256); r |= 1; } if (why & QE_CR_STAT_MCOFLOW) { - if_statadd_ref(nsr, if_ierrors, 256); + if_statadd_ref(ifp, nsr, if_ierrors, 256); r |= 1; } if (why & QE_CR_STAT_RXFOFLOW) { printf("%s: rx fifo overflow\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; } if (why & QE_CR_STAT_RLCOLL) { printf("%s: rx late collision\n", xname); - if_statinc_ref(nsr, if_ierrors); - if_statinc_ref(nsr, if_collisions); + if_statinc_ref(ifp, nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_collisions); r |= 1; } if (why & QE_CR_STAT_FCOFLOW) { - if_statadd_ref(nsr, if_ierrors, 256); + if_statadd_ref(ifp, nsr, if_ierrors, 256); r |= 1; } if (why & QE_CR_STAT_CECOFLOW) { - if_statadd_ref(nsr, if_ierrors, 256); + if_statadd_ref(ifp, nsr, if_ierrors, 256); r |= 1; } if (why & QE_CR_STAT_RXDROP) { printf("%s: rx packet dropped\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; } if (why & QE_CR_STAT_RXSMALL) { printf("%s: rx buffer too small\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; rst = 1; } if (why & QE_CR_STAT_RXLERR) { printf("%s: rx late error\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; rst = 1; } if (why & QE_CR_STAT_RXPERR) { printf("%s: rx DMA parity error\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; rst = 1; } if (why & QE_CR_STAT_RXSERR) { printf("%s: rx DMA sbus error ack\n", xname); - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); r |= 1; rst = 1; } Index: src/sys/dev/usb/if_cue.c diff -u src/sys/dev/usb/if_cue.c:1.108 src/sys/dev/usb/if_cue.c:1.109 --- src/sys/dev/usb/if_cue.c:1.108 Sat Aug 20 14:09:10 2022 +++ src/sys/dev/usb/if_cue.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_cue.c,v 1.108 2022/08/20 14:09:10 riastradh Exp $ */ +/* $NetBSD: if_cue.c,v 1.109 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 @@ -57,7 +57,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.108 2022/08/20 14:09:10 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.109 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -545,13 +545,13 @@ cue_uno_tick(struct usbnet *un) net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (cue_csr_read_2(un, CUE_RX_FRAMEERR)) - if_statinc_ref(nsr, if_ierrors); + if_statinc_ref(ifp, nsr, if_ierrors); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, cue_csr_read_2(un, CUE_TX_SINGLECOLL)); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, cue_csr_read_2(un, CUE_TX_MULTICOLL)); - if_statadd_ref(nsr, if_collisions, + if_statadd_ref(ifp, nsr, if_collisions, cue_csr_read_2(un, CUE_TX_EXCESSCOLL)); IF_STAT_PUTREF(ifp); } Index: src/sys/net/if.c diff -u src/sys/net/if.c:1.529 src/sys/net/if.c:1.530 --- src/sys/net/if.c:1.529 Fri Feb 24 11:02:45 2023 +++ src/sys/net/if.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if.c,v 1.529 2023/02/24 11:02:45 riastradh Exp $ */ +/* $NetBSD: if.c,v 1.530 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc. @@ -90,7 +90,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.529 2023/02/24 11:02:45 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.530 2024/06/29 12:11:12 riastradh Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -3785,9 +3785,9 @@ if_transmit(struct ifnet *ifp, struct mb } net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_obytes, pktlen); + if_statadd_ref(ifp, nsr, if_obytes, pktlen); if (mcast) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); if ((ifp->if_flags & IFF_OACTIVE) == 0) Index: src/sys/net/if_bridge.c diff -u src/sys/net/if_bridge.c:1.189 src/sys/net/if_bridge.c:1.190 --- src/sys/net/if_bridge.c:1.189 Fri Jul 29 07:58:18 2022 +++ src/sys/net/if_bridge.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bridge.c,v 1.189 2022/07/29 07:58:18 skrll Exp $ */ +/* $NetBSD: if_bridge.c,v 1.190 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -80,7 +80,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.189 2022/07/29 07:58:18 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.190 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1523,10 +1523,10 @@ bridge_enqueue(struct bridge_softc *sc, } 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_statinc_ref(&sc->sc_if, nsr, if_opackets); + if_statadd_ref(&sc->sc_if, nsr, if_obytes, len); if (mflags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(&sc->sc_if, nsr, if_omcasts); IF_STAT_PUTREF(&sc->sc_if); } Index: src/sys/net/if_stats.h diff -u src/sys/net/if_stats.h:1.4 src/sys/net/if_stats.h:1.5 --- src/sys/net/if_stats.h:1.4 Sat Jun 29 02:18:35 2024 +++ src/sys/net/if_stats.h Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_stats.h,v 1.4 2024/06/29 02:18:35 riastradh Exp $ */ +/* $NetBSD: if_stats.h,v 1.5 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c) 2020 The NetBSD Foundation, Inc. @@ -70,7 +70,7 @@ if_statinc(ifnet_t *ifp, if_stat_t x) } static inline void -if_statinc_ref(net_stat_ref_t nsr, if_stat_t x) +if_statinc_ref(ifnet_t *ifp, net_stat_ref_t nsr, if_stat_t x) { /* XXX sdt probe needs ifp */ _NET_STATINC_REF(nsr, x); @@ -84,7 +84,7 @@ if_statdec(ifnet_t *ifp, if_stat_t x) } static inline void -if_statdec_ref(net_stat_ref_t nsr, if_stat_t x) +if_statdec_ref(ifnet_t *ifp, net_stat_ref_t nsr, if_stat_t x) { /* XXX sdt probe needs ifp */ _NET_STATDEC_REF(nsr, x); @@ -98,7 +98,7 @@ if_statadd(ifnet_t *ifp, if_stat_t x, ui } static inline void -if_statadd_ref(net_stat_ref_t nsr, if_stat_t x, uint64_t v) +if_statadd_ref(ifnet_t *ifp, net_stat_ref_t nsr, if_stat_t x, uint64_t v) { /* XXX sdt probe needs ifp */ _NET_STATADD_REF(nsr, x, v); @@ -123,7 +123,7 @@ if_statsub(ifnet_t *ifp, if_stat_t x, ui } static inline void -if_statsub_ref(net_stat_ref_t nsr, if_stat_t x, uint64_t v) +if_statsub_ref(ifnet_t *ifp, net_stat_ref_t nsr, if_stat_t x, uint64_t v) { /* XXX sdt probe needs ifp */ _NET_STATSUB_REF(nsr, x, v); Index: src/sys/net/if_vlan.c diff -u src/sys/net/if_vlan.c:1.171 src/sys/net/if_vlan.c:1.172 --- src/sys/net/if_vlan.c:1.171 Thu Nov 2 09:48:29 2023 +++ src/sys/net/if_vlan.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vlan.c,v 1.171 2023/11/02 09:48:29 yamaguchi Exp $ */ +/* $NetBSD: if_vlan.c,v 1.172 2024/06/29 12:11:12 riastradh Exp $ */ /* * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -78,7 +78,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.171 2023/11/02 09:48:29 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.172 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1424,12 +1424,12 @@ vlan_transmit(struct ifnet *ifp, struct net_stat_ref_t nsr = IF_STAT_GETREF(ifp); if (error) { /* mbuf is already freed */ - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } else { - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, pktlen); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, pktlen); if (mcast) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); } IF_STAT_PUTREF(ifp); Index: src/sys/net/agr/if_agr.c diff -u src/sys/net/agr/if_agr.c:1.56 src/sys/net/agr/if_agr.c:1.57 --- src/sys/net/agr/if_agr.c:1.56 Sun Sep 18 19:24:14 2022 +++ src/sys/net/agr/if_agr.c Sat Jun 29 12:11:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_agr.c,v 1.56 2022/09/18 19:24:14 thorpej Exp $ */ +/* $NetBSD: if_agr.c,v 1.57 2024/06/29 12:11:12 riastradh Exp $ */ /*- * Copyright (c)2005 YAMAMOTO Takashi, @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_agr.c,v 1.56 2022/09/18 19:24:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_agr.c,v 1.57 2024/06/29 12:11:12 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -398,13 +398,13 @@ agr_start(struct ifnet *ifp) error = agr_xmit_frame(port->port_ifp, m); if (error) { - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } else { - if_statinc_ref(nsr, if_opackets); + if_statinc_ref(ifp, nsr, if_opackets); } } else { m_freem(m); - if_statinc_ref(nsr, if_oerrors); + if_statinc_ref(ifp, nsr, if_oerrors); } IF_STAT_PUTREF(ifp); } Index: src/sys/net/lagg/if_lagg.c diff -u src/sys/net/lagg/if_lagg.c:1.70 src/sys/net/lagg/if_lagg.c:1.71 --- src/sys/net/lagg/if_lagg.c:1.70 Fri Apr 5 06:48:22 2024 +++ src/sys/net/lagg/if_lagg.c Sat Jun 29 12:11:13 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_lagg.c,v 1.70 2024/04/05 06:48:22 yamaguchi Exp $ */ +/* $NetBSD: if_lagg.c,v 1.71 2024/06/29 12:11:13 riastradh Exp $ */ /* * Copyright (c) 2005, 2006 Reyk Floeter <r...@openbsd.org> @@ -20,7 +20,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_lagg.c,v 1.70 2024/04/05 06:48:22 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_lagg.c,v 1.71 2024/06/29 12:11:13 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1082,10 +1082,10 @@ lagg_output(struct lagg_softc *sc, struc if_statinc(ifp, if_oerrors); } else { net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statinc_ref(nsr, if_opackets); - if_statadd_ref(nsr, if_obytes, len); + if_statinc_ref(ifp, nsr, if_opackets); + if_statadd_ref(ifp, nsr, if_obytes, len); if (mflags & M_MCAST) - if_statinc_ref(nsr, if_omcasts); + if_statinc_ref(ifp, nsr, if_omcasts); IF_STAT_PUTREF(ifp); } }