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
This commit is contained in:
Bruce M Simpson 2007-03-01 14:38:08 +00:00
parent e69b11c87d
commit a96ef0cd9a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=167145

View File

@ -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.