diff options
author | dg <dg@FreeBSD.org> | 2001-12-14 04:41:07 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 2001-12-14 04:41:07 +0000 |
commit | 2ab37ca0c56a7fa288cc9a8797d49d5f2999834b (patch) | |
tree | 60aabd779f9252fa127aaac013ed58c9f97790c3 /sys/net | |
parent | b9c2be3b9b4ecec8ae49e3a100a916fe6fd8c38c (diff) | |
download | FreeBSD-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.c | 3 |
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) |