summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ethersubr.c
diff options
context:
space:
mode:
authorcsjp <csjp@FreeBSD.org>2007-02-22 14:50:31 +0000
committercsjp <csjp@FreeBSD.org>2007-02-22 14:50:31 +0000
commit6169e2ea404ce2bf18bfc5be2b827a052b87ab17 (patch)
tree243e998a84c5ffddca2d2aeb78b7a273232b34cf /sys/net/if_ethersubr.c
parentd7423f55fb05abcc2b60387b8b114f9d96b5e8bf (diff)
downloadFreeBSD-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.c5
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) {
OpenPOWER on IntegriCloud