Thomas Vachuska | 6655bee | 2017-08-24 16:12:59 -0700 | [diff] [blame] | 1 | module openconfig-ospf-types { |
| 2 | |
| 3 | yang-version "1"; |
| 4 | |
| 5 | // namespace |
| 6 | namespace "http://openconfig.net/yang/ospf-types"; |
| 7 | |
| 8 | prefix "oc-ospf-types"; |
| 9 | |
| 10 | // import some basic types |
| 11 | import ietf-yang-types { prefix "yang"; } |
| 12 | import openconfig-extensions { prefix "oc-ext"; } |
| 13 | |
| 14 | // meta |
| 15 | organization "OpenConfig working group"; |
| 16 | |
| 17 | contact |
| 18 | "OpenConfig working group |
| 19 | www.openconfig.net"; |
| 20 | |
| 21 | description |
| 22 | "Type definitions for OSPF"; |
| 23 | |
| 24 | oc-ext:openconfig-version "0.1.0"; |
| 25 | |
| 26 | revision "2017-02-28"{ |
| 27 | description |
| 28 | "Initial public release of OSPFv2"; |
| 29 | reference "0.1.0"; |
| 30 | } |
| 31 | |
| 32 | revision "2016-06-24" { |
| 33 | description |
| 34 | "Initial revision"; |
| 35 | reference "0.0.1"; |
| 36 | } |
| 37 | |
| 38 | // typedefs |
| 39 | typedef ospf-area-identifier { |
| 40 | type union { |
| 41 | type uint32; |
| 42 | type yang:dotted-quad; |
| 43 | } |
| 44 | description |
| 45 | "An identifier for an area with OSPF version 2 or 3. This value |
| 46 | is expressed as either a dotted-quad, or a unsigned 32-bit |
| 47 | number"; |
| 48 | } |
| 49 | |
| 50 | typedef ospf-metric { |
| 51 | type uint16; |
| 52 | description |
| 53 | "A common type that can be utilised to express an OSPF metric"; |
| 54 | } |
| 55 | |
| 56 | typedef sr-sid-type { |
| 57 | type enumeration { |
| 58 | enum LABEL { |
| 59 | description |
| 60 | "When the length of the SR/Label Sub-TLV is specified to be 3, then |
| 61 | the right-most 20-bits represent a label value within the SR/Label |
| 62 | Sub-TLV. When this leaf is set to a value of Label the first-entry |
| 63 | leaf should be interpreted to be an MPLS label."; |
| 64 | } |
| 65 | enum SID { |
| 66 | description |
| 67 | "When the length of the SR/Label Sub-TLV is specified to be 4, then |
| 68 | the value specified in the first-entry leaf should be specified to |
| 69 | be a segment identifier."; |
| 70 | } |
| 71 | } |
| 72 | description |
| 73 | "A common type used to express the type of segment identifier that is |
| 74 | used in LSDB entries relating to segment routing"; |
| 75 | } |
| 76 | |
| 77 | // identities |
| 78 | identity OSPF_LSA_TYPE { |
| 79 | description |
| 80 | "Base identity for an OSPF LSA type. This identity is intended |
| 81 | to be used across both OSPFv2 and OSPFv3. Identity values that |
| 82 | correspond to only one OSPF version are marked as such."; |
| 83 | } |
| 84 | |
| 85 | identity ROUTER_LSA { |
| 86 | base "OSPF_LSA_TYPE"; |
| 87 | description |
| 88 | "Type 1 - ROUTER_LSA. An LSA originated by each router within |
| 89 | the area describing the state and cost of the router's links |
| 90 | in the area."; |
| 91 | reference "RFC2328"; |
| 92 | } |
| 93 | |
| 94 | identity NETWORK_LSA { |
| 95 | base "OSPF_LSA_TYPE"; |
| 96 | description |
| 97 | "Type 2 - NETWORK_LSA. An LSA originated for each broadcast and |
| 98 | non-broadcast multiple access (NBMA) in the area. This LSA is |
| 99 | originated by the designated router."; |
| 100 | reference "RFC2328"; |
| 101 | } |
| 102 | |
| 103 | identity SUMMARY_IP_NETWORK_LSA { |
| 104 | base "OSPF_LSA_TYPE"; |
| 105 | description |
| 106 | "Type 3 - SUMMARY_IP_NETWORK_LSA. An LSA originated by area |
| 107 | border routers describing inter-area destinations. This LSA type |
| 108 | is used when the destination is an IP network"; |
| 109 | reference "RFC2328"; |
| 110 | } |
| 111 | |
| 112 | identity SUMMARY_ASBR_LSA { |
| 113 | base "OSPF_LSA_TYPE"; |
| 114 | description |
| 115 | "Type 4 - SUMMARY_ASBR_LSA. An LSA originated by an area border |
| 116 | router describing inter-area destinations. This LSA type is used |
| 117 | when the destination is an AS boundary router."; |
| 118 | reference "RFC2328"; |
| 119 | } |
| 120 | |
| 121 | identity AS_EXTERNAL_LSA { |
| 122 | base "OSPF_LSA_TYPE"; |
| 123 | description |
| 124 | "Type 5 - AS_EXTERNAL_LSA. This LSA type is used to describe |
| 125 | destinations external to the autonomous system, and is |
| 126 | originated by an AS boundary router (ASBR)."; |
| 127 | reference "RFC2328"; |
| 128 | } |
| 129 | |
| 130 | identity NSSA_AS_EXTERNAL_LSA { |
| 131 | base "OSPF_LSA_TYPE"; |
| 132 | description |
| 133 | "Type 7 - NSSA_AS_EXTERNAL_LSA. This LSA type is used by |
| 134 | systems within a not-so-stubby-area (NSSA) to inject external |
| 135 | prefixes into the LSDB. They are translated to Type 5 LSAs |
| 136 | at an ABR device."; |
| 137 | reference "RFC3101"; |
| 138 | } |
| 139 | |
| 140 | identity OSPFV2_LINK_SCOPE_OPAQUE_LSA { |
| 141 | base "OSPF_LSA_TYPE"; |
| 142 | description |
| 143 | "Type 9 - OSPFV2_LINK_SCOPE_OPAQUE_LSA. This LSA type is used |
| 144 | in OSPFv2 to distribute arbitrary information via the OSPF |
| 145 | protocol. The contents is specific to the application defining |
| 146 | the Opaque Type specified within the LSDB. LSAs with Type 9 have |
| 147 | a scope of the link that they are being transmitted on (and the |
| 148 | associated network or subnetwork)."; |
| 149 | reference "RFC5250"; |
| 150 | } |
| 151 | |
| 152 | identity OSPFV2_AREA_SCOPE_OPAQUE_LSA { |
| 153 | base "OSPF_LSA_TYPE"; |
| 154 | description |
| 155 | "Type 10 - OSPFV2_AREA_SCOPE_OPAQUE_LSA. This LSA type is used |
| 156 | in OSPFv2 to distribute arbitrary information via the OSPF |
| 157 | protocol. The contents is specific to the application defining |
| 158 | the Opaque Type specified within the LSDB. LSAs with Type 10 have |
| 159 | a scope of the area that they are transmitted within."; |
| 160 | reference "RFC5250"; |
| 161 | } |
| 162 | |
| 163 | identity OSPFV2_AS_SCOPE_OPAQUE_LSA { |
| 164 | base "OSPF_LSA_TYPE"; |
| 165 | description |
| 166 | "Type 11 - OSPFV2_AS_SCOPE_OPAQUE_LSA. This LSA type is used |
| 167 | in OSPFv2 to distribute arbitrary information via the OSPF |
| 168 | protocol. The contents is specific to the application defining |
| 169 | the Opaque Type specified within the LSDB. LSAs with Type 11 |
| 170 | have a scope of the autonomous system that they are transmitted |
| 171 | within."; |
| 172 | reference "RFC5250"; |
| 173 | } |
| 174 | |
| 175 | identity ROUTER_LSA_TYPES { |
| 176 | description |
| 177 | "Sub-types of the router LSA"; |
| 178 | } |
| 179 | |
| 180 | identity ROUTER_LSA_P2P { |
| 181 | base "ROUTER_LSA_TYPES"; |
| 182 | description |
| 183 | "The LSA represents a point-to-point connection to another |
| 184 | router"; |
| 185 | } |
| 186 | |
| 187 | identity ROUTER_LSA_TRANSIT_NETWORK { |
| 188 | base "ROUTER_LSA_TYPES"; |
| 189 | description |
| 190 | "The LSA represents a connection to a transit network"; |
| 191 | } |
| 192 | |
| 193 | identity ROUTER_LSA_STUB_NETWORK { |
| 194 | base "ROUTER_LSA_TYPES"; |
| 195 | description |
| 196 | "The LSA represents a connection to a stub network"; |
| 197 | } |
| 198 | |
| 199 | identity ROUTER_LSA_VIRTUAL_LINK { |
| 200 | base "ROUTER_LSA_TYPES"; |
| 201 | description |
| 202 | "The LSA represents a virtual link connection"; |
| 203 | } |
| 204 | |
| 205 | identity OSPF_NEIGHBOR_STATE { |
| 206 | description |
| 207 | "The state of an adjacency between the local system and a remote |
| 208 | device"; |
| 209 | } |
| 210 | |
| 211 | identity DOWN { |
| 212 | base "OSPF_NEIGHBOR_STATE"; |
| 213 | description |
| 214 | "The initial state of a neighbor, indicating that no recent |
| 215 | information has been received from the neighbor."; |
| 216 | reference "RFC2328"; |
| 217 | } |
| 218 | |
| 219 | identity ATTEMPT { |
| 220 | base "OSPF_NEIGHBOR_STATE"; |
| 221 | description |
| 222 | "Utilised for neighbors that are attached to NBMA networks, it |
| 223 | indicates that no information has been recently received from |
| 224 | the neighbor but that Hello packets should be directly sent |
| 225 | to that neighbor."; |
| 226 | reference "RFC2328"; |
| 227 | } |
| 228 | |
| 229 | identity INIT { |
| 230 | base "OSPF_NEIGHBOR_STATE"; |
| 231 | description |
| 232 | "Indicates that a Hello packet has been received from the |
| 233 | neighbor but bi-directional communication has not yet been |
| 234 | established. That is to say that the local Router ID does |
| 235 | not appear in the list of neighbors in the remote system's |
| 236 | Hello packet."; |
| 237 | reference "RFC2328"; |
| 238 | } |
| 239 | |
| 240 | identity TWO_WAY { |
| 241 | base "OSPF_NEIGHBOR_STATE"; |
| 242 | description |
| 243 | "Communication between the local and remote system is |
| 244 | bi-directional such that the local system's Router ID is listed |
| 245 | in the received remote system's Hello packet."; |
| 246 | reference "RFC2328"; |
| 247 | } |
| 248 | |
| 249 | identity EXSTART { |
| 250 | base "OSPF_NEIGHBOR_STATE"; |
| 251 | description |
| 252 | "An adjacency with the remote system is being formed. The local |
| 253 | system is currently transmitting empty database description |
| 254 | packets in order to establish the master/slave relationship for |
| 255 | the adjacency."; |
| 256 | reference "RFC2328"; |
| 257 | } |
| 258 | |
| 259 | identity EXCHANGE { |
| 260 | base "OSPF_NEIGHBOR_STATE"; |
| 261 | description |
| 262 | "The local and remote systems are currently exchanging database |
| 263 | description packets in order to determine which elements of |
| 264 | their local LSDBs are out of date."; |
| 265 | reference "RFC2328"; |
| 266 | } |
| 267 | |
| 268 | identity LOADING { |
| 269 | base "OSPF_NEIGHBOR_STATE"; |
| 270 | description |
| 271 | "The local system is sending Link State Request packets to the |
| 272 | remote system in order to receive the more recently LSAs that |
| 273 | were discovered during the Exchange phase of the procedure |
| 274 | establishing the adjacency."; |
| 275 | reference "RFC2328"; |
| 276 | } |
| 277 | |
| 278 | identity FULL { |
| 279 | base "OSPF_NEIGHBOR_STATE"; |
| 280 | description |
| 281 | "The neighboring routers are fully adjacent such that both |
| 282 | LSDBs are synchronized. The adjacency will appear in Router and |
| 283 | Network LSAs"; |
| 284 | reference "RFC2328"; |
| 285 | } |
| 286 | |
| 287 | identity OSPF_NETWORK_TYPE { |
| 288 | description |
| 289 | "Types of network that OSPF should consider attached to an |
| 290 | interface"; |
| 291 | } |
| 292 | |
| 293 | identity POINT_TO_POINT_NETWORK { |
| 294 | base "OSPF_NETWORK_TYPE"; |
| 295 | description |
| 296 | "A interface that connects two routers."; |
| 297 | reference "RFC2328"; |
| 298 | } |
| 299 | |
| 300 | identity BROADCAST_NETWORK { |
| 301 | base "OSPF_NETWORK_TYPE"; |
| 302 | description |
| 303 | "An interface that supports >2 attached routers which has the |
| 304 | ability to address all connected systems via a single |
| 305 | (broadcast) address."; |
| 306 | } |
| 307 | |
| 308 | identity NON_BROADCAST_NETWORK { |
| 309 | base "OSPF_NETWORK_TYPE"; |
| 310 | description |
| 311 | "An interface that supports >2 attached rotuers which does not |
| 312 | have the ability to address all connected systems with a |
| 313 | broadcast address."; |
| 314 | } |
| 315 | |
| 316 | // rjs TODO: Maybe need p2mp here. |
| 317 | |
| 318 | |
| 319 | identity OSPF_OPAQUE_LSA_TYPE { |
| 320 | description |
| 321 | "This identity is the base used for opaque LSA types. The values |
| 322 | that extend this base are those that are described in the IANA |
| 323 | OSPF Opaque Link-State Advertisements (LSA) Option Types registry"; |
| 324 | } |
| 325 | |
| 326 | identity TRAFFIC_ENGINEERING { |
| 327 | base "OSPF_OPAQUE_LSA_TYPE"; |
| 328 | description |
| 329 | "The Traffic Engineering LSA. This type is used only with area-scope |
| 330 | Opaque LSAs - and is used to describe routers, point-to-point links |
| 331 | and connections to multi-access networks for traffic engineering |
| 332 | purposes."; |
| 333 | reference "RFC3630"; |
| 334 | } |
| 335 | |
| 336 | identity GRACE_LSA { |
| 337 | base "OSPF_OPAQUE_LSA_TYPE"; |
| 338 | description |
| 339 | "Grace LSAs are announced by a system undergoing graceful-restart. |
| 340 | A system that is attempting an OSPF graceful restart announces |
| 341 | Grace-LSAs with a specified grace period, indicating the intention |
| 342 | to have completed an restart within the specified period."; |
| 343 | reference "RFC3623"; |
| 344 | } |
| 345 | |
| 346 | identity ROUTER_INFORMATION { |
| 347 | base "OSPF_OPAQUE_LSA_TYPE"; |
| 348 | description |
| 349 | "The Router Information LSA is used by an OSPFv2 system to announce |
| 350 | optional capabilities of the local system, over and above those that |
| 351 | are included within the OSPF hello message field. The flooding scope |
| 352 | of the LSA can be link-, area-, or AS-wide (i.e., the LSA type can |
| 353 | be 9, 10 or 11)."; |
| 354 | reference "RFC7770"; |
| 355 | } |
| 356 | |
| 357 | identity OSPFV2_EXTENDED_PREFIX { |
| 358 | base "OSPF_OPAQUE_LSA_TYPE"; |
| 359 | description |
| 360 | "The Extended Prefix LSA is used in OSPFv2 to carry a set of attributes |
| 361 | that are to be associated with a prefix that is advertised in OSPF. The |
| 362 | attributes are carried as one or more TLV tuples. The flooding scope |
| 363 | of the LSA can be link-, area-, or AS-wide as specified by the |
| 364 | advertising system. The flooding scope of the LSA may exceed the scope |
| 365 | of the corresponding prefix."; |
| 366 | reference "RFC7684"; |
| 367 | } |
| 368 | |
| 369 | identity OSPFV2_EXTENDED_LINK { |
| 370 | base "OSPF_OPAQUE_LSA_TYPE"; |
| 371 | description |
| 372 | "The Extended Link LSA is used in OSPFv2 to carry a set of attributes |
| 373 | that are to be associated with a link that is advertised in OSPF. The |
| 374 | link attributes are carried as one or more TLV tuples. The flooding |
| 375 | scope of the link LSA is area-local - i.e., it is carried in a Type 10 |
| 376 | opaque LSA."; |
| 377 | reference "RFC7684"; |
| 378 | } |
| 379 | |
| 380 | identity OSPF_TE_LSA_TLV_TYPE { |
| 381 | description |
| 382 | "This identity is the base used for the type field of TLVs that are |
| 383 | included within the Traffic Engineering Opaque LSA."; |
| 384 | } |
| 385 | |
| 386 | identity TE_ROUTER_ADDRESS { |
| 387 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 388 | description |
| 389 | "A stable IP address of the advertising router that is always reachable |
| 390 | if the node has connectivity."; |
| 391 | } |
| 392 | |
| 393 | identity TE_LINK { |
| 394 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 395 | description |
| 396 | "A single link within a traffic engineering topology. A set of sub-TLVs |
| 397 | are carried within this attribute to indicate traffic engineering |
| 398 | characteristics of the link."; |
| 399 | } |
| 400 | |
| 401 | identity TE_ROUTER_IPV6_ADDRESS { |
| 402 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 403 | description |
| 404 | "A stable IPv6 address of the advertising router that is always |
| 405 | reachable if the node has connectivity. This TLV is used only with |
| 406 | OSPFv3"; |
| 407 | reference "RFC5329"; |
| 408 | } |
| 409 | |
| 410 | identity TE_LINK_LOCAL { |
| 411 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 412 | description |
| 413 | "Attributes associated with the local link by the system."; |
| 414 | reference "RFC4203"; |
| 415 | } |
| 416 | |
| 417 | identity TE_NODE_ATTRIBUTE { |
| 418 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 419 | description |
| 420 | "Attributes associted with the local system"; |
| 421 | reference "RFC5786"; |
| 422 | } |
| 423 | |
| 424 | identity TE_OPTICAL_NODE_PROPERTY { |
| 425 | base "OSPF_TE_LSA_TLV_TYPE"; |
| 426 | description |
| 427 | "Attributes associated with the local optical node. A set of sub-TLVs |
| 428 | are carried within this TLV which are used within the GMPLS control |
| 429 | plane when using OSPF"; |
| 430 | } |
| 431 | |
| 432 | identity OSPF_TE_LINK_TLV_TYPE { |
| 433 | description |
| 434 | "This identity is the based used for the type field for sub-TLVs of the |
| 435 | Link TLV of the OSPF Traffic Engineering Opaque LSA"; |
| 436 | } |
| 437 | |
| 438 | identity TE_LINK_TYPE { |
| 439 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 440 | description |
| 441 | "The OSPF-TE Link Type sub-TLV appears exactly once per OSPF-TE Link |
| 442 | and describes the type of the link"; |
| 443 | } |
| 444 | |
| 445 | identity TE_LINK_ID { |
| 446 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 447 | description |
| 448 | "The OSPF-TE Link ID sub-TLV appears exactly once per OSPF-TE link and |
| 449 | identifies the remote end of the link."; |
| 450 | } |
| 451 | |
| 452 | identity TE_LINK_LOCAL_IP { |
| 453 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 454 | description |
| 455 | "The OSPF-TE Local IP specifies a list of the interface addresses of the |
| 456 | local system corresponding to the traffic engineering link."; |
| 457 | } |
| 458 | |
| 459 | identity TE_LINK_REMOTE_IP { |
| 460 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 461 | description |
| 462 | "The OSPF-TE Remote IP specifies a list of IP addresses of the remote |
| 463 | neighbors associated with the traffic engineering link."; |
| 464 | } |
| 465 | |
| 466 | identity TE_LINK_METRIC { |
| 467 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 468 | description |
| 469 | "The OSPF-TE Metric specifies the link metric for traffic engineering |
| 470 | purposes"; |
| 471 | } |
| 472 | |
| 473 | identity TE_LINK_MAXIMUM_BANDWIDTH { |
| 474 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 475 | description |
| 476 | "The OSPF-TE Maximum Bandwidth specifies the maximum bandwidth of the |
| 477 | link that it is associated with."; |
| 478 | } |
| 479 | |
| 480 | identity TE_LINK_MAXIMUM_RESERVABLE_BANDWIDTH { |
| 481 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 482 | description |
| 483 | "The OSPF-TE Maximum Reservable Bandwidth specifies the maximum |
| 484 | bandwidth that may be reserved on the link in bytes per second"; |
| 485 | } |
| 486 | |
| 487 | identity TE_LINK_UNRESERVED_BANDWIDTH { |
| 488 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 489 | description |
| 490 | "The OSPF-TE unreserved bandwidth indicates the amount of bandwidth |
| 491 | at each priority level that is currently not reserved"; |
| 492 | } |
| 493 | |
| 494 | identity TE_LINK_ADMIN_GROUP { |
| 495 | base "OSPF_TE_LINK_TLV_TYPE"; |
| 496 | description |
| 497 | "The OSPF-TE administrative group indicates the administrative group |
| 498 | that the is assigned to the interface"; |
| 499 | } |
| 500 | |
| 501 | identity TE_NODE_ATTRIBUTE_TLV_TYPE { |
| 502 | description |
| 503 | "This identity forms the base for sub-TLVs of the Node Attribute TLV |
| 504 | of the Traffic Engineering LSA"; |
| 505 | } |
| 506 | |
| 507 | identity NODE_IPV4_LOCAL_ADDRESS { |
| 508 | base "TE_NODE_ATTRIBUTE_TLV_TYPE"; |
| 509 | description |
| 510 | "The Node Attribute Sub-TLV contains a list of the IPv4 addresses of |
| 511 | the local system"; |
| 512 | } |
| 513 | |
| 514 | identity NODE_IPV6_LOCAL_ADDRESS { |
| 515 | base "TE_NODE_ATTRIBUTE_TLV_TYPE"; |
| 516 | description |
| 517 | "The Node Attribute Sub-TLV contains a list of the IPv6 addresses of |
| 518 | the local system"; |
| 519 | } |
| 520 | |
| 521 | identity GRACE_LSA_TLV_TYPES { |
| 522 | description |
| 523 | "This identity is used as the base for TLVs within the Grace LSA"; |
| 524 | } |
| 525 | |
| 526 | identity GRACE_PERIOD { |
| 527 | base "GRACE_LSA_TLV_TYPES"; |
| 528 | description |
| 529 | "This sub-TLV describes the period for which adjacencies should be |
| 530 | maintained with the restarting system"; |
| 531 | } |
| 532 | |
| 533 | identity GRACE_RESTART_REASON { |
| 534 | base "GRACE_LSA_TLV_TYPES"; |
| 535 | description |
| 536 | "This sub-TLV describes the reason for the OSPF restart of the system |
| 537 | that is restarting"; |
| 538 | } |
| 539 | |
| 540 | identity GRACE_IP_INTERFACE_ADDRESS { |
| 541 | base "GRACE_LSA_TLV_TYPES"; |
| 542 | description |
| 543 | "This sub-TLV specifies the restarting system's IP address on the |
| 544 | interface via which it is advertising the Grace LSA"; |
| 545 | } |
| 546 | |
| 547 | identity RI_LSA_TLV_TYPES { |
| 548 | description |
| 549 | "This identity is used as the base for the TLVs within the Router |
| 550 | Information LSA"; |
| 551 | reference "RFC7770"; |
| 552 | } |
| 553 | |
| 554 | identity RI_INFORMATIONAL_CAPABILITIES { |
| 555 | base "RI_LSA_TLV_TYPES"; |
| 556 | description |
| 557 | "Informational capabilities of the advertising system"; |
| 558 | reference "RFC7770"; |
| 559 | } |
| 560 | |
| 561 | identity RI_FUNCTIONAL_CAPABILITIES { |
| 562 | base "RI_LSA_TLV_TYPES"; |
| 563 | description |
| 564 | "Functional capabilities of the advertising system"; |
| 565 | reference "RFC7770"; |
| 566 | } |
| 567 | |
| 568 | identity RI_NODE_ADMIN_TAG { |
| 569 | base "RI_LSA_TLV_TYPES"; |
| 570 | description |
| 571 | "Operator-defined administrative tags associated with the advertising |
| 572 | system"; |
| 573 | reference "RFC7777"; |
| 574 | } |
| 575 | |
| 576 | identity RI_SR_SID_LABEL_RANGE { |
| 577 | base "RI_LSA_TLV_TYPES"; |
| 578 | description |
| 579 | "SID or Label ranges for use with segment routing when forwarding to |
| 580 | the advertising system"; |
| 581 | reference "draft-ietf-ospf-segment-routing-extensions"; |
| 582 | } |
| 583 | |
| 584 | identity RI_SR_ALGORITHM { |
| 585 | base "RI_LSA_TLV_TYPES"; |
| 586 | description |
| 587 | "The algorithms that are supported for segment routing by the |
| 588 | advertising system"; |
| 589 | reference "draft-ietf-ospf-segment-routing-extensions"; |
| 590 | } |
| 591 | |
| 592 | // will be shared with IS-IS |
| 593 | identity SR_ALGORITHM { |
| 594 | description |
| 595 | "This identity is used as a base for the algorithms that can be |
| 596 | supported for segment routing and are advertised by a system in the RI |
| 597 | LSA"; |
| 598 | } |
| 599 | |
| 600 | identity SPF { |
| 601 | base "SR_ALGORITHM"; |
| 602 | description |
| 603 | "The standard shortest path algorithm based on link metric, |
| 604 | as used by the OSPF protocol"; |
| 605 | } |
| 606 | |
| 607 | identity STRICT_SPF { |
| 608 | base "SR_ALGORITHM"; |
| 609 | description |
| 610 | "The standard shortest path algorithm based on link metric, with the |
| 611 | requirement that all nodes along the path honor the SPF decision. That |
| 612 | is to say that the SPF decision cannot be altered by local policy at |
| 613 | the node"; |
| 614 | } |
| 615 | |
| 616 | identity OSPF_RI_SR_SID_LABEL_TLV_TYPES { |
| 617 | description |
| 618 | "This identity is used as a base for the sub-TLVs of the Segment |
| 619 | Routing SID/Label Range TLV"; |
| 620 | } |
| 621 | |
| 622 | identity SR_SID_LABEL_TLV { |
| 623 | base "OSPF_RI_SR_SID_LABEL_TLV_TYPES"; |
| 624 | description |
| 625 | "A range of SID/Label values used by the local system"; |
| 626 | reference "draft-ietf-ospf-segment-routing-extensions"; |
| 627 | } |
| 628 | |
| 629 | identity OSPFV2_ROUTER_LINK_TYPE { |
| 630 | description |
| 631 | "OSPFv2 Router Link Types as per the IANA registry defined in |
| 632 | RFC2740"; |
| 633 | } |
| 634 | |
| 635 | identity POINT_TO_POINT_LINK { |
| 636 | base "OSPFV2_ROUTER_LINK_TYPE"; |
| 637 | description |
| 638 | "The link is a point-to-point connection to another router"; |
| 639 | } |
| 640 | |
| 641 | identity TRANSIT_NETWORK_LINK { |
| 642 | base "OSPFV2_ROUTER_LINK_TYPE"; |
| 643 | description |
| 644 | "The link is a connection to a transit network"; |
| 645 | } |
| 646 | |
| 647 | identity STUB_NETWORK_LINK { |
| 648 | base "OSPFV2_ROUTER_LINK_TYPE"; |
| 649 | description |
| 650 | "The link is a connection to a stub network"; |
| 651 | } |
| 652 | |
| 653 | identity VIRTUAL_LINK { |
| 654 | base "OSPFV2_ROUTER_LINK_TYPE"; |
| 655 | description |
| 656 | "The link is a virtual connection to another router"; |
| 657 | } |
| 658 | |
| 659 | identity OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE { |
| 660 | description |
| 661 | "Sub-TLVs of the OSPFv2 Extended Prefix LSA as defined by |
| 662 | RFC7684"; |
| 663 | } |
| 664 | |
| 665 | identity EXTENDED_PREFIX_RANGE { |
| 666 | base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; |
| 667 | description |
| 668 | "The attributes being described relate to a range of prefixes"; |
| 669 | } |
| 670 | |
| 671 | identity PREFIX_SID { |
| 672 | base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; |
| 673 | description |
| 674 | "The TLV describes a Segment Routing Prefix Segment Identifier |
| 675 | associated with a prefix"; |
| 676 | } |
| 677 | |
| 678 | identity SID_LABEL_BINDING { |
| 679 | base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; |
| 680 | description |
| 681 | "The TLV describes a binding of a SID to a path to the prefix, |
| 682 | which may have associated path characteristics"; |
| 683 | } |
| 684 | |
| 685 | identity OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE { |
| 686 | description |
| 687 | "Sub-TLV types carried in the SID/Label Binding Sub-TLV of |
| 688 | the Extended Prefix Sub-TLV"; |
| 689 | } |
| 690 | |
| 691 | identity SID_MPLS_LABEL_BINDING { |
| 692 | base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; |
| 693 | description |
| 694 | "This sub-TLV indicates a binding between an SR SID and an |
| 695 | MPLS label and must be present in the sub-TLV"; |
| 696 | } |
| 697 | |
| 698 | identity ERO_METRIC { |
| 699 | base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; |
| 700 | description |
| 701 | "This sub-TLV indicates the cost of the ERO path being |
| 702 | advertised in the SID/Label TLV"; |
| 703 | } |
| 704 | |
| 705 | identity ERO_PATH { |
| 706 | base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; |
| 707 | description |
| 708 | "This sub-TLV indicates the path associated with an ERO |
| 709 | being advertised in the SID/Label TLV"; |
| 710 | } |
| 711 | |
| 712 | identity OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE { |
| 713 | description |
| 714 | "The types of segment included within an ERO Path described |
| 715 | within the SID/Label binding sub-TLV"; |
| 716 | } |
| 717 | |
| 718 | identity IPV4_SEGMENT { |
| 719 | base "OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; |
| 720 | description |
| 721 | "The segment is specified as an IPv4 address"; |
| 722 | } |
| 723 | |
| 724 | identity UNNUMBERED_INTERFACE_SEGMENT { |
| 725 | base "OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; |
| 726 | description |
| 727 | "The segment is specified as an unnumbered interface of |
| 728 | a remote system"; |
| 729 | } |
| 730 | |
| 731 | identity OSPFV2_EXTENDED_LINK_SUBTLV_TYPE { |
| 732 | description |
| 733 | "Sub-TLVs of the Extended Link TLV for OSPFv2"; |
| 734 | } |
| 735 | |
| 736 | identity ADJACENCY_SID { |
| 737 | base "OSPFV2_EXTENDED_LINK_SUBTLV_TYPE"; |
| 738 | description |
| 739 | "The extended link sub-TLV indicates an Adjacency SID"; |
| 740 | } |
| 741 | |
| 742 | identity MAX_METRIC_TRIGGER { |
| 743 | description |
| 744 | "Triggers which cause the maximum metric to be set for |
| 745 | entities advertised in OSPF"; |
| 746 | } |
| 747 | |
| 748 | identity MAX_METRIC_ON_SYSTEM_BOOT { |
| 749 | base "MAX_METRIC_TRIGGER"; |
| 750 | description |
| 751 | "Set the maximum metric when the system boots."; |
| 752 | } |
| 753 | |
| 754 | identity MAX_METRIC_INCLUDE { |
| 755 | description |
| 756 | "Entities that may optionally be included when advertising |
| 757 | the maximum metric."; |
| 758 | } |
| 759 | |
| 760 | identity MAX_METRIC_INCLUDE_STUB { |
| 761 | base "MAX_METRIC_INCLUDE"; |
| 762 | description |
| 763 | "Include stub networks when advertising the maximum metric."; |
| 764 | } |
| 765 | |
| 766 | identity MAX_METRIC_INCLUDE_TYPE2_EXTERNAL { |
| 767 | base "MAX_METRIC_INCLUDE"; |
| 768 | description |
| 769 | "Include OSPF Type 2 external routes when advertising |
| 770 | the maximum metric."; |
| 771 | } |
| 772 | } |