| 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"; |
| } |
| } |