diff options
author | csjp <csjp@FreeBSD.org> | 2007-02-22 14:50:31 +0000 |
---|---|---|
committer | csjp <csjp@FreeBSD.org> | 2007-02-22 14:50:31 +0000 |
commit | 6169e2ea404ce2bf18bfc5be2b827a052b87ab17 (patch) | |
tree | 243e998a84c5ffddca2d2aeb78b7a273232b34cf /sys/net/if_ethersubr.c | |
parent | d7423f55fb05abcc2b60387b8b114f9d96b5e8bf (diff) | |
download | FreeBSD-src-6169e2ea404ce2bf18bfc5be2b827a052b87ab17.zip FreeBSD-src-6169e2ea404ce2bf18bfc5be2b827a052b87ab17.tar.gz |
Use ETHER_BPF_MTAP() instead of BPF_MTAP() here. It's possible
incoming packets have had their 802.1Q tags processed by the
hardware, resulting in them being stripped from the packets, and
placed on the mbuf. This fixes the processing of 802.1Q tags when
hardware offload of 802.1Q tags is enabled.
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r-- | sys/net/if_ethersubr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 4ac6bab..b9d165b 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -558,9 +558,10 @@ ether_input(struct ifnet *ifp, struct mbuf *m) #endif /* - * Give bpf a chance at the packet. + * Give bpf a chance at the packet. Process any 802.1Q tags + * that may have been attached to the mbuf. */ - BPF_MTAP(ifp, m); + ETHER_BPF_MTAP(ifp, m); /* If the CRC is still on the packet, trim it off. */ if (m->m_flags & M_HASFCS) { |