summaryrefslogtreecommitdiffstats
path: root/sys/net/if_bridgevar.h
diff options
context:
space:
mode:
authorsyrinx <syrinx@FreeBSD.org>2006-12-04 14:45:02 +0000
committersyrinx <syrinx@FreeBSD.org>2006-12-04 14:45:02 +0000
commitb5c537984bd463a59efd5ae8b00db2da6b4b2a79 (patch)
treeb6129512c425358a54eb42903a4969d60cea72df /sys/net/if_bridgevar.h
parente472c8dd9a63a668edf18369765bbcf1dce3a47d (diff)
downloadFreeBSD-src-b5c537984bd463a59efd5ae8b00db2da6b4b2a79.zip
FreeBSD-src-b5c537984bd463a59efd5ae8b00db2da6b4b2a79.tar.gz
Add two new flags to if_bridge(4) indicating whether the edge flag
of the bridge port and path cost have been administratively set or calculated automatically by RSTP. Make sure to transition from non-edge to edge when the port goes down and the edge flag was manually set before. This is needed to comply with the condition ((!portEnabled && AdminEdge) || ....) in the Bridge Detection State Machine (IEE802.1D-2004, p. 171). Reviewed by: thompsa Approved by: bz (mentor)
Diffstat (limited to 'sys/net/if_bridgevar.h')
-rw-r--r--sys/net/if_bridgevar.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h
index 6a470fe..2096eaa 100644
--- a/sys/net/if_bridgevar.h
+++ b/sys/net/if_bridgevar.h
@@ -140,11 +140,14 @@ struct ifbreq {
#define IFBIF_BSTP_AUTOEDGE 0x0040 /* member stp autoedge enabled */
#define IFBIF_BSTP_P2P 0x0080 /* member stp p2p */
#define IFBIF_BSTP_AUTOP2P 0x0100 /* member stp autop2p enabled */
+#define IFBIF_BSTP_ADMEDGE 0x0200 /* member stp admin edge enabled */
+#define IFBIF_BSTP_ADMCOST 0x0400 /* member stp admin path cost */
#define IFBIFBITS "\020\001LEARNING\002DISCOVER\003STP\004SPAN" \
"\005STICKY\006EDGE\007AUTOEDGE\010P2P\011AUTOP2P"
#define IFBIFMASK ~(IFBIF_BSTP_EDGE|IFBIF_BSTP_AUTOEDGE|IFBIF_BSTP_P2P| \
- IFBIF_BSTP_AUTOP2P) /* not saved */
+ IFBIF_BSTP_AUTOP2P|IFBIF_BSTP_ADMEDGE| \
+ IFBIF_BSTP_ADMCOST) /* not saved */
/* BRDGFLUSH */
#define IFBF_FLUSHDYN 0x00 /* flush learned addresses only */
OpenPOWER on IntegriCloud