summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>2001-12-14 04:41:07 +0000
committerdg <dg@FreeBSD.org>2001-12-14 04:41:07 +0000
commit2ab37ca0c56a7fa288cc9a8797d49d5f2999834b (patch)
tree60aabd779f9252fa127aaac013ed58c9f97790c3 /sys/net
parentb9c2be3b9b4ecec8ae49e3a100a916fe6fd8c38c (diff)
downloadFreeBSD-src-2ab37ca0c56a7fa288cc9a8797d49d5f2999834b.zip
FreeBSD-src-2ab37ca0c56a7fa288cc9a8797d49d5f2999834b.tar.gz
Moved the updating of if_ibytes from ether_demux() to ether_input() to fix
a bug where the interface input bytes count wasn't updated when bridging is enabled. MFC after: 3 days
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if_ethersubr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 7b2b365..ceac9c1 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -421,6 +421,8 @@ ether_input(ifp, eh, m)
bpf_mtap(ifp, (struct mbuf *)&mh);
}
+ ifp->if_ibytes += m->m_pkthdr.len + sizeof (*eh);
+
/* Handle ng_ether(4) processing, if any */
if (ng_ether_input_p != NULL) {
(*ng_ether_input_p)(ifp, &m, eh);
@@ -506,7 +508,6 @@ ether_demux(ifp, eh, m)
m_freem(m);
return;
}
- ifp->if_ibytes += m->m_pkthdr.len + sizeof (*eh);
if (eh->ether_dhost[0] & 1) {
if (bcmp((caddr_t)etherbroadcastaddr, (caddr_t)eh->ether_dhost,
sizeof(etherbroadcastaddr)) == 0)
OpenPOWER on IntegriCloud