Thomas Vachuska | 6655bee | 2017-08-24 16:12:59 -0700 | [diff] [blame] | 1 | module openconfig-lldp-types { |
| 2 | |
| 3 | yang-version "1"; |
| 4 | |
| 5 | // namespace |
| 6 | namespace "http://openconfig.net/yang/lldp/types"; |
| 7 | |
| 8 | prefix "oc-lldp-types"; |
| 9 | |
| 10 | // import some basic types |
| 11 | import openconfig-extensions { prefix oc-ext; } |
| 12 | |
| 13 | |
| 14 | // meta |
| 15 | organization "OpenConfig working group"; |
| 16 | |
| 17 | contact |
| 18 | "OpenConfig working group |
| 19 | www.openconfig.net"; |
| 20 | |
| 21 | description |
| 22 | "This module defines types related to the LLDP protocol model."; |
| 23 | |
| 24 | oc-ext:openconfig-version "0.1.0"; |
| 25 | |
| 26 | revision "2016-05-16" { |
| 27 | description |
| 28 | "Initial public revision"; |
| 29 | reference "0.1.0"; |
| 30 | } |
| 31 | |
| 32 | |
| 33 | // identity statements |
| 34 | |
| 35 | identity LLDP_SYSTEM_CAPABILITY { |
| 36 | description |
| 37 | "Base identity for standard LLDP system capabilities. |
| 38 | The system capabilities field contains a bit-map of the |
| 39 | capabilities that define the primary function(s) of |
| 40 | the system. A system may advertise more than one capability."; |
| 41 | reference |
| 42 | "Table 8-4 System Capabilities, IEEE 802.1AB-2009"; |
| 43 | } |
| 44 | |
| 45 | identity OTHER { |
| 46 | base LLDP_SYSTEM_CAPABILITY; |
| 47 | description |
| 48 | "Other capability not specified; bit position 1"; |
| 49 | } |
| 50 | |
| 51 | identity REPEATER { |
| 52 | base LLDP_SYSTEM_CAPABILITY; |
| 53 | description |
| 54 | "Repeater capability; bit position 2"; |
| 55 | reference |
| 56 | "IETF RFC 2108"; |
| 57 | } |
| 58 | |
| 59 | identity MAC_BRIDGE { |
| 60 | base LLDP_SYSTEM_CAPABILITY; |
| 61 | description |
| 62 | "MAC bridge capability; bit position 3"; |
| 63 | reference |
| 64 | "IEEE Std 802.1D"; |
| 65 | } |
| 66 | |
| 67 | identity WLAN_ACCESS_POINT { |
| 68 | base LLDP_SYSTEM_CAPABILITY; |
| 69 | description |
| 70 | "WLAN access point capability; bit position 4"; |
| 71 | reference |
| 72 | "IEEE Std 802.11 MIB"; |
| 73 | } |
| 74 | |
| 75 | identity ROUTER { |
| 76 | base LLDP_SYSTEM_CAPABILITY; |
| 77 | description |
| 78 | "Router; bit position 5"; |
| 79 | reference |
| 80 | "IETF RFC 1812"; |
| 81 | } |
| 82 | |
| 83 | identity TELEPHONE { |
| 84 | base LLDP_SYSTEM_CAPABILITY; |
| 85 | description |
| 86 | "Telephone capability; bit position 6"; |
| 87 | reference |
| 88 | "IETF RFC 4293"; |
| 89 | } |
| 90 | |
| 91 | identity DOCSIS_CABLE_DEVICE { |
| 92 | base LLDP_SYSTEM_CAPABILITY; |
| 93 | description |
| 94 | "DOCSIS cable device; bit position 7"; |
| 95 | reference |
| 96 | "IETF RFC 4639 and IETF RFC 4546"; |
| 97 | } |
| 98 | |
| 99 | identity STATION_ONLY { |
| 100 | base LLDP_SYSTEM_CAPABILITY; |
| 101 | description |
| 102 | "Station only capability, for devices that implement only an |
| 103 | end station capability, and for which none of the other |
| 104 | capabilities apply; bit position 8"; |
| 105 | reference |
| 106 | "IETF RFC 4293"; |
| 107 | } |
| 108 | |
| 109 | identity C_VLAN { |
| 110 | base LLDP_SYSTEM_CAPABILITY; |
| 111 | description |
| 112 | "C-VLAN component of a VLAN Bridge; bit position 9"; |
| 113 | reference |
| 114 | "IEEE Std 802.1Q"; |
| 115 | } |
| 116 | |
| 117 | identity S_VLAN { |
| 118 | base LLDP_SYSTEM_CAPABILITY; |
| 119 | description |
| 120 | "S-VLAN component of a VLAN Bridge; bit position 10"; |
| 121 | reference |
| 122 | "IEEE Std 802.1Q"; |
| 123 | } |
| 124 | |
| 125 | identity TWO_PORT_MAC_RELAY { |
| 126 | base LLDP_SYSTEM_CAPABILITY; |
| 127 | description |
| 128 | "Two-port MAC Relay (TPMR) capability; bit position 11"; |
| 129 | reference |
| 130 | "IEEE Std 802.1Q"; |
| 131 | } |
| 132 | |
| 133 | identity LLDP_TLV { |
| 134 | description |
| 135 | "A base identity which describes the TLVs in LLDP"; |
| 136 | } |
| 137 | |
| 138 | identity CHASSIS_ID { |
| 139 | base LLDP_TLV; |
| 140 | description |
| 141 | "The chassis identifier of the device associated with |
| 142 | the transmitting LLDP agent"; |
| 143 | reference "IEEE Std 802.1AB"; |
| 144 | } |
| 145 | |
| 146 | identity PORT_ID { |
| 147 | base LLDP_TLV; |
| 148 | description |
| 149 | "The port identifier associated with the interface |
| 150 | on with the LLDP agent is transmitting"; |
| 151 | reference "IEEE Std 802.1AB"; |
| 152 | } |
| 153 | |
| 154 | identity PORT_DESCRIPTION { |
| 155 | base LLDP_TLV; |
| 156 | description |
| 157 | "The description of the port that is associated with |
| 158 | the interface on which the LLDP agent is transmitting"; |
| 159 | reference "IEEE Std 802.1AB"; |
| 160 | } |
| 161 | |
| 162 | identity SYSTEM_NAME { |
| 163 | base LLDP_TLV; |
| 164 | description |
| 165 | "The assigned name (sysName or hostname) of the device |
| 166 | which is transmitting the LLDP PDU"; |
| 167 | reference "IEEE Std 802.1AB"; |
| 168 | } |
| 169 | |
| 170 | identity SYSTEM_DESCRIPTION { |
| 171 | base LLDP_TLV; |
| 172 | description |
| 173 | "The description (sysDescr) of the device which is |
| 174 | transmitting the LLDP PDU"; |
| 175 | reference "IEEE Std 802.1AB"; |
| 176 | } |
| 177 | |
| 178 | identity SYSTEM_CAPABILITIES { |
| 179 | base LLDP_TLV; |
| 180 | description |
| 181 | "The primary functions of the device transmitting the |
| 182 | LLDP PDU and their administrative status"; |
| 183 | reference "IEEE Std 802.1AB"; |
| 184 | } |
| 185 | |
| 186 | identity MANAGEMENT_ADDRESS { |
| 187 | base LLDP_TLV; |
| 188 | description |
| 189 | "The address associated with the device transmitting the |
| 190 | LLDP PDU which can be used for higher-layer network |
| 191 | management"; |
| 192 | reference "IEEE Std 802.1AB"; |
| 193 | } |
| 194 | |
| 195 | // typedef statements |
| 196 | |
| 197 | typedef chassis-id-type { |
| 198 | type enumeration { |
| 199 | enum CHASSIS_COMPONENT { |
| 200 | description |
| 201 | "Chassis identifier based on the value of entPhysicalAlias |
| 202 | object defined in IETF RFC 2737"; |
| 203 | } |
| 204 | enum INTERFACE_ALIAS { |
| 205 | description |
| 206 | "Chassis identifier based on the value of ifAlias object |
| 207 | defined in IETF RFC 2863"; |
| 208 | } |
| 209 | enum PORT_COMPONENT { |
| 210 | description |
| 211 | "Chassis identifier based on the value of entPhysicalAlias |
| 212 | object defined in IETF RFC 2737 for a port or backplane |
| 213 | component"; |
| 214 | } |
| 215 | enum MAC_ADDRESS { |
| 216 | description |
| 217 | "Chassis identifier based on the value of a unicast source |
| 218 | address (encoded in network byte order and IEEE 802.3 |
| 219 | canonical bit order), of a port on the containing chassis |
| 220 | as defined in IEEE Std 802-2001"; |
| 221 | } |
| 222 | enum NETWORK_ADDRESS { |
| 223 | description |
| 224 | "Chassis identifier based on a network address, |
| 225 | associated with a particular chassis. The encoded address |
| 226 | is composed of two fields. The first field is a single |
| 227 | octet, representing the IANA AddressFamilyNumbers value |
| 228 | for the specific address type, and the second field is the |
| 229 | network address value"; |
| 230 | } |
| 231 | enum INTERFACE_NAME { |
| 232 | description |
| 233 | "Chassis identifier based on the name of the interface, |
| 234 | e.g., the value of ifName object defined in IETF RFC 2863"; |
| 235 | } |
| 236 | enum LOCAL { |
| 237 | description |
| 238 | "Chassis identifier based on a locally defined value"; |
| 239 | } |
| 240 | } |
| 241 | description |
| 242 | "Type definition with enumerations describing the source of |
| 243 | the chassis identifier"; |
| 244 | reference |
| 245 | "IEEE 802.1AB LLDP MIB"; |
| 246 | } |
| 247 | |
| 248 | typedef port-id-type { |
| 249 | type enumeration { |
| 250 | enum INTERFACE_ALIAS { |
| 251 | description |
| 252 | "Chassis identifier based on the value of ifAlias object |
| 253 | defined in IETF RFC 2863"; |
| 254 | } |
| 255 | enum PORT_COMPONENT { |
| 256 | description |
| 257 | "Port identifier based on the value of entPhysicalAlias |
| 258 | object defined in IETF RFC 2737 for a port component"; |
| 259 | } |
| 260 | enum MAC_ADDRESS { |
| 261 | description |
| 262 | "Port identifier based on the value of a unicast source |
| 263 | address (encoded in network byte order and IEEE 802.3 |
| 264 | canonical bit order) associated with a port"; |
| 265 | } |
| 266 | enum NETWORK_ADDRESS { |
| 267 | description |
| 268 | "Port identifier based on a network address, |
| 269 | associated with a particular port"; |
| 270 | } |
| 271 | enum INTERFACE_NAME { |
| 272 | description |
| 273 | "Port identifier based on the name of the interface, |
| 274 | e.g., the value of ifName object defined in IETF RFC 2863"; |
| 275 | } |
| 276 | enum AGENT_CIRCUIT_ID { |
| 277 | description |
| 278 | "Port identifer based on the circuit id in the DHCP |
| 279 | relay agent information option as defined in IETF |
| 280 | RFC 3046"; |
| 281 | } |
| 282 | enum LOCAL { |
| 283 | description |
| 284 | "Port identifier based on a locally defined alphanumeric |
| 285 | string"; |
| 286 | } |
| 287 | } |
| 288 | description |
| 289 | "Type definition with enumerations describing the basis of |
| 290 | the port identifier"; |
| 291 | reference |
| 292 | "IEEE 802.1AB LLDP MIB"; |
| 293 | } |
| 294 | |
| 295 | |
| 296 | } |