diff options
author | thompsa <thompsa@FreeBSD.org> | 2005-12-14 02:52:13 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2005-12-14 02:52:13 +0000 |
commit | dbd94fcd442b994abe665d34aeab2f591f98f217 (patch) | |
tree | 9d77641fd4a325856117cac0087488e049e353bd /sys/net/if_bridgevar.h | |
parent | 952c53a74a9de27a465719536a17a0cbd0ef1a4e (diff) | |
download | FreeBSD-src-dbd94fcd442b994abe665d34aeab2f591f98f217.zip FreeBSD-src-dbd94fcd442b994abe665d34aeab2f591f98f217.tar.gz |
Add support for creating span ports so that one can snoop bridged traffic
from another interface/machine/network.
Obtained from: OpenBSD
MFC after: 2 weeks
Diffstat (limited to 'sys/net/if_bridgevar.h')
-rw-r--r-- | sys/net/if_bridgevar.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 98dfcda..7ec672a 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -106,6 +106,8 @@ #define BRDGSMA 20 /* set max age (ifbrparam) */ #define BRDGSIFPRIO 21 /* set if priority (ifbreq) */ #define BRDGSIFCOST 22 /* set if path cost (ifbreq) */ +#define BRDGADDS 23 /* add bridge span member (ifbreq) */ +#define BRDGDELS 24 /* delete bridge span member (ifbreq) */ /* * Generic bridge control request. @@ -123,8 +125,9 @@ struct ifbreq { #define IFBIF_LEARNING 0x01 /* if can learn */ #define IFBIF_DISCOVER 0x02 /* if sends packets w/ unknown dest. */ #define IFBIF_STP 0x04 /* if participates in spanning tree */ +#define IFBIF_SPAN 0x08 /* if is a span port */ -#define IFBIFBITS "\020\1LEARNING\2DISCOVER\3STP" +#define IFBIFBITS "\020\1LEARNING\2DISCOVER\3STP\4SPAN" /* BRDGFLUSH */ #define IFBF_FLUSHDYN 0x00 /* flush learned addresses only */ @@ -295,6 +298,7 @@ struct bridge_softc { LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ uint32_t sc_rthash_key; /* key for hash */ + LIST_HEAD(, bridge_iflist) sc_spanlist; /* span ports list */ }; #define BRIDGE_LOCK_INIT(_sc) do { \ |