commit 3a17879abc91d53064418e0da7348260ec17c44d Author: Ryota Ozaki Date: Fri Mar 3 19:08:26 2017 +0900 Move if_opackets++ diff --git a/sys/dev/pci/if_vioif.c b/sys/dev/pci/if_vioif.c index e7fdbf2..5b09445 100644 --- a/sys/dev/pci/if_vioif.c +++ b/sys/dev/pci/if_vioif.c @@ -1157,7 +1157,6 @@ vioif_tx_vq_done_locked(struct virtqueue *vq) bus_dmamap_unload(vsc->sc_dmat, sc->sc_tx_dmamaps[slot]); sc->sc_tx_mbufs[slot] = 0; virtio_dequeue_commit(vsc, vq, slot); - ifp->if_opackets++; m_freem(m); } diff --git a/sys/dev/pci/if_wm.c b/sys/dev/pci/if_wm.c index d330015..cb1b64e 100644 --- a/sys/dev/pci/if_wm.c +++ b/sys/dev/pci/if_wm.c @@ -7670,8 +7670,7 @@ wm_txeof(struct wm_softc *sc, struct wm_txqueue *txq) log(LOG_WARNING, "%s: excessive collisions\n", device_xname(sc->sc_dev)); } - } else - ifp->if_opackets++; + } txq->txq_packets++; txq->txq_bytes += txs->txs_mbuf->m_pkthdr.len; diff --git a/sys/net/agr/if_agr.c b/sys/net/agr/if_agr.c index becca64..19389b1 100644 --- a/sys/net/agr/if_agr.c +++ b/sys/net/agr/if_agr.c @@ -462,8 +462,6 @@ agr_start(struct ifnet *ifp) error = agr_xmit_frame(port->port_ifp, m); if (error) { ifp->if_oerrors++; - } else { - ifp->if_opackets++; } } else { m_freem(m); diff --git a/sys/net/if.c b/sys/net/if.c index 482bcbe..31e8055 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -3233,6 +3233,7 @@ if_transmit(struct ifnet *ifp, struct mbuf *m) } ifp->if_obytes += m->m_pkthdr.len;; + ifp->if_opackets++; if (m->m_flags & M_MCAST) ifp->if_omcasts++; diff --git a/sys/net/if_etherip.c b/sys/net/if_etherip.c index d7d1cee..f05fdf6 100644 --- a/sys/net/if_etherip.c +++ b/sys/net/if_etherip.c @@ -378,7 +378,6 @@ etheripintr(void *arg) bpf_mtap(ifp, m); - ifp->if_opackets++; if (sc->sc_src && sc->sc_dst) { ifp->if_flags |= IFF_OACTIVE; switch (sc->sc_src->sa_family) { diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 7300cea..71bfec4 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -445,8 +445,10 @@ ether_output(struct ifnet * const ifp0, struct mbuf * const m0, #endif #if NCARP > 0 - if (ifp != ifp0) + if (ifp != ifp0) { ifp0->if_obytes += m->m_pkthdr.len + ETHER_HDR_LEN; + ifp0->if_opackets++; + } #endif /* NCARP > 0 */ #ifdef ALTQ diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index 629764c..2b313fe 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -419,8 +419,10 @@ fddi_output(struct ifnet *ifp0, struct mbuf *m0, const struct sockaddr *dst, false); } - if (ifp != ifp0) + if (ifp != ifp0) { ifp0->if_obytes += m->m_pkthdr.len; + ifp0->if_opackets++; + } #endif /* NCARP > 0 */ return ifq_enqueue(ifp, m); diff --git a/sys/net/if_l2tp.c b/sys/net/if_l2tp.c index 8c9ddd3..b045372 100644 --- a/sys/net/if_l2tp.c +++ b/sys/net/if_l2tp.c @@ -425,13 +425,6 @@ l2tpintr(struct l2tp_variant *var) if (error) ifp->if_oerrors++; - else { - ifp->if_opackets++; - /* - * obytes is incremented at ether_output() or - * bridge_enqueue(). - */ - } } } @@ -563,12 +556,6 @@ l2tp_transmit(struct ifnet *ifp, struct mbuf *m) if (error) ifp->if_oerrors++; - else { - ifp->if_opackets++; - /* - * obytes is incremented at ether_output() or bridge_enqueue(). - */ - } out: l2tp_putref_variant(var, &psref); diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index 42a6f65..9a7125c 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -905,8 +905,10 @@ sppp_output(struct ifnet *ifp, struct mbuf *m, #ifdef SPPPSUBR_MPSAFE error = if_transmit_lock(ifp, m); - if (error == 0) + if (error == 0) { ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes; + ifp->if_opackets++; + } #else /* !SPPPSUBR_MPSAFE */ error = ifq_enqueue2(ifp, ifq, m); @@ -922,6 +924,7 @@ sppp_output(struct ifnet *ifp, struct mbuf *m, sppp_lock_enter(sp); } ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes; + ifp->if_opackets++; } #endif /* !SPPPSUBR_MPSAFE */ sppp_lock_exit(sp); @@ -1390,6 +1393,7 @@ sppp_cisco_send(struct sppp *sp, int type, int32_t par1, int32_t par2) sppp_lock_enter(sp); } ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes; + ifp->if_opackets++; } /* @@ -1462,6 +1466,7 @@ sppp_cp_send(struct sppp *sp, u_short proto, u_char type, } ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes; + ifp->if_opackets++; } /* @@ -5081,6 +5086,7 @@ sppp_auth_send(const struct cp *cp, struct sppp *sp, sppp_lock_enter(sp); } ifp->if_obytes += m->m_pkthdr.len + 3; + ifp->if_opackets++; } /* diff --git a/sys/net/if_srt.c b/sys/net/if_srt.c index 6c48deb..c8a1739 100644 --- a/sys/net/if_srt.c +++ b/sys/net/if_srt.c @@ -223,7 +223,6 @@ srt_if_output( } /* XXX Do we need to bpf_tap? Or do higher layers now handle that? */ /* if_gif.c seems to imply the latter. */ - ifp->if_opackets ++; if (! r) { ifp->if_oerrors ++; m_freem(m); @@ -234,6 +233,7 @@ srt_if_output( m_freem(m); return 0; } + ifp->if_opackets ++; ifp->if_obytes += m->m_pkthdr.len; if (! (r->u.dstifp->if_flags & IFF_UP)) { m_freem(m); diff --git a/sys/net/if_strip.c b/sys/net/if_strip.c index 8f67503..a12ce37 100644 --- a/sys/net/if_strip.c +++ b/sys/net/if_strip.c @@ -690,6 +690,7 @@ strip_sendbody(struct strip_softc *sc, struct mbuf *m) return; } sc->sc_if.if_obytes += len; + sc->sc_if.if_opackets++; } /* @@ -1349,6 +1350,7 @@ strip_resetradio(struct strip_softc *sc, struct tty *tp) return; } sc->sc_if.if_obytes += sizeof(InitString) - 1; + sc->sc_if.if_opackets++; /* * Assume the radio is still dead, so we can detect repeated diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index 7ec6717..34eb032 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -512,7 +512,6 @@ tap_start(struct ifnet *ifp) if (m0 == NULL) return; - ifp->if_opackets++; bpf_mtap(ifp, m0); m_freem(m0); @@ -880,7 +879,6 @@ tap_dev_close(struct tap_softc *sc) if (m == NULL) break; - ifp->if_opackets++; bpf_mtap(ifp, m); m_freem(m); } @@ -977,7 +975,6 @@ tap_dev_read(int unit, struct uio *uio, int flags) goto out; } - ifp->if_opackets++; bpf_mtap(ifp, m); /* diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 52fc925..8e839ec 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -853,8 +853,6 @@ vlan_start(struct ifnet *ifp) continue; } } - - ifp->if_opackets++; } ifp->if_flags &= ~IFF_OACTIVE; diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 277e17f..2836e26 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -784,6 +784,7 @@ ieee80211_deliver_data(struct ieee80211com *ic, m = NULL; } ifp->if_obytes += len; + ifp->if_opackets++; } } if (m != NULL) {