aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang225
1 files changed, 225 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang b/src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang
new file mode 100644
index 0000000..0ca9571
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang
@@ -0,0 +1,225 @@
+module openconfig-spanning-tree-types {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/spanning-tree/types";
+
+ prefix "oc-stp-types";
+
+ // import some basic types
+ import openconfig-extensions { prefix oc-ext; }
+
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module defines types related to the
+ spanning-tree protocol model.";
+
+ oc-ext:openconfig-version "0.2.0";
+
+ revision "2017-07-14" {
+ description
+ "Migrated to OpenConfig types; fixed missing applied state
+ in rapid-pvst";
+ reference "0.2.0";
+ }
+
+ revision "2016-10-03" {
+ description
+ "Initial public revision";
+ reference "0.1.0";
+ }
+
+ // identity statements
+
+ identity STP_PROTOCOL {
+ description
+ "base identity for support spanning tree protocol";
+ }
+
+ identity RSTP {
+ base STP_PROTOCOL;
+ description
+ "Rapid Spanning Tree Protocol";
+ reference "IEEE 802.1D 17";
+ }
+
+ identity MSTP {
+ base STP_PROTOCOL;
+ description
+ "Multiple Spanning Tree Protocol";
+ reference "IEEE 802.1Q 13";
+ }
+
+ identity RAPID_PVST {
+ base STP_PROTOCOL;
+ description
+ "Rapid Per Vlan Spanning Tree Protocol";
+ }
+
+ identity STP_PORT_STATE {
+ description
+ "base identity for the different Spanning Tree Protocol port
+ states";
+ reference
+ "IEEE 802.1D 7.4 Port States and the active topology";
+ }
+
+ identity DISABLED {
+ base STP_PORT_STATE;
+ description
+ "A port that is manually isolated from the network";
+ }
+
+ identity LISTENING {
+ base STP_PORT_STATE;
+ description
+ "Processing BPDUs and building active toplogy";
+ }
+
+ identity LEARNING {
+ base STP_PORT_STATE;
+ description
+ "Building bridging tables; no forwarding of data";
+ }
+
+ identity BLOCKING {
+ base STP_PORT_STATE;
+ description
+ "A port that would cause a loop if it were sending data,
+ so it is only receiving BPDUs, untill a topology change
+ removes the possibliity of a loop";
+ }
+
+ identity FORWARDING {
+ base STP_PORT_STATE;
+ description
+ "Sending and receiving data, normal operation";
+ }
+
+ identity STP_EDGE_PORT {
+ description
+ "base identity for the different edge port modes";
+ reference
+ "IEEE 802.1D 17.13.1";
+ }
+
+ identity EDGE_ENABLE {
+ base STP_EDGE_PORT;
+ description
+ "Enable edge port for the bridge port";
+ }
+
+ identity EDGE_DISABLE {
+ base STP_EDGE_PORT;
+ description
+ "Disable edge port for the bridge port";
+ }
+
+ identity EDGE_AUTO {
+ base STP_EDGE_PORT;
+ description
+ "Enable edge port autodetction for the bridge port";
+ }
+
+ identity STP_PORT_ROLE {
+ description
+ "Base identity for the different Spanning Tree Protocol port
+ roles";
+ reference
+ "IEEE 802.1D 17.7 Port Role assignments";
+ }
+
+ identity ROOT {
+ base STP_PORT_ROLE;
+ description
+ "The port that receives the best BPDU on a bridge is the
+ root port";
+ }
+
+ identity DESIGNATED {
+ base STP_PORT_ROLE;
+ description
+ "A port is designated if it can send the best BPDU on the
+ segment to which it is connected.";
+ }
+
+ identity ALTERNATE {
+ base STP_PORT_ROLE;
+ description
+ "An alternate port receives more useful BPDUs from another
+ bridge and is a port blocked";
+ }
+
+ identity BACKUP {
+ base STP_PORT_ROLE;
+ description
+ "A backup port receives more useful BPDUs from the same
+ bridge it is on and is a port blocked";
+ }
+
+ // typedef statements
+
+ typedef stp-bridge-priority-type {
+ type uint32 {
+ range 1..611440;
+ }
+ description
+ "The manageable component of the Bridge Identifier";
+ reference "IEEE 802.1D 17.13.7 Bridge Identifier Priority";
+ }
+
+ typedef stp-port-priority-type {
+ type uint8 {
+ range 1..240;
+ }
+ description
+ "The manageable component of the Port Identifier,
+ also known as the Port Priority";
+ reference
+ "IEEE 802.1D 17.13.10 Port Identifier Priority";
+ }
+
+ typedef stp-guard-type {
+ type enumeration {
+ enum ROOT {
+ description
+ "Enable root guard";
+ }
+ enum LOOP {
+ description
+ "Enable loop guard";
+ }
+ enum NONE {
+ description
+ "disable guard";
+ }
+ }
+ description
+ "Type definition for the different STP guard for the switch port";
+ reference "IEEE 802.1D 17.2";
+ }
+
+ typedef stp-link-type {
+ type enumeration {
+ enum P2P {
+ description
+ "Point-to-Point link";
+ }
+ enum SHARED {
+ description
+ "Shared link";
+ }
+ }
+ description
+ "Type definition for the different link types";
+ reference "IEEE 802.1D 17.2";
+ }
+}