summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2007-03-01 14:38:08 +0000
committerbms <bms@FreeBSD.org>2007-03-01 14:38:08 +0000
commit36e1a8127c07b95d03b2ba4b6f18420d5dfadfe3 (patch)
tree7159d56e94b65aa36814d244baca857a5a78481c /sys
parent5ec36bb996cdf34a7dd2fbbdd0cc27b383bd7557 (diff)
downloadFreeBSD-src-36e1a8127c07b95d03b2ba4b6f18420d5dfadfe3.zip
FreeBSD-src-36e1a8127c07b95d03b2ba4b6f18420d5dfadfe3.tar.gz
Introduce a new mbuf flag, M_PROMISC.
An mbuf packet chain with the M_PROMISC flag set contains a unicast packet received by the link layer, which does not correspond to any configured link layer address in the local system. It is copied when copying m_pkthdr. It is not cleared when crossing layers. As such, it is defined to have a flag value which is outside of the M_PROTO* range, like M_VLANTAG has. Reviewed by: andre Obtained from: NetBSD
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/mbuf.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index bfb82be..d2aef51 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -182,6 +182,7 @@ struct mbuf {
#define M_FIRSTFRAG 0x1000 /* packet is first fragment */
#define M_LASTFRAG 0x2000 /* packet is last fragment */
#define M_VLANTAG 0x10000 /* ether_vtag is valid */
+#define M_PROMISC 0x20000 /* packet was not for us */
/*
* External buffer types: identify ext_buf type.
@@ -203,7 +204,7 @@ struct mbuf {
#define M_COPYFLAGS (M_PKTHDR|M_EOR|M_RDONLY|M_PROTO1|M_PROTO1|M_PROTO2|\
M_PROTO3|M_PROTO4|M_PROTO5|M_SKIP_FIREWALL|\
M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG|\
- M_VLANTAG)
+ M_VLANTAG|M_PROMISC)
/*
* Flags to purge when crossing layers.
OpenPOWER on IntegriCloud