diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-spanning-tree-types.yang | 225 |
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"; + } +} |