idnits 2.17.00 (12 Aug 2021) /tmp/idnits29054/draft-ietf-lsr-ospfv3-extended-lsa-yang-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 8 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (July 13, 2020) is 677 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) ** Obsolete normative reference: RFC 8022 (Obsoleted by RFC 8349) Summary: 4 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet A. Lindem 3 Internet-Draft S. Palani 4 Intended status: Standards Track Cisco Systems 5 Expires: January 14, 2021 Y. Qu 6 Futurewei 7 July 13, 2020 9 YANG Model for OSPFv3 Extended LSAs 10 draft-ietf-lsr-ospfv3-extended-lsa-yang-02 12 Abstract 14 This document defines a YANG data model augmenting the IETF OSPF YANG 15 model to provide support for OSPFv3 Link State Advertisment (LSA) 16 Extensibility as defined in RFC 8362. OSPFv3 Extended LSAs provide 17 extensible TLV-based LSAs for the base LSA types defined in RFC 5340. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on January 14, 2021. 36 Copyright Notice 38 Copyright (c) 2020 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 55 2. OSPFv3 Extended LSAs . . . . . . . . . . . . . . . . . . . . 2 56 3. OSPFv3 Extended LSA Yang Module . . . . . . . . . . . . . . . 11 57 4. Security Considerations . . . . . . . . . . . . . . . . . . . 27 58 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 59 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 60 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 61 7.1. Normative References . . . . . . . . . . . . . . . . . . 28 62 7.2. Informative References . . . . . . . . . . . . . . . . . 29 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 65 1. Overview 67 YANG [RFC6020] [RFC7950] is a data definition language used to define 68 the contents of a conceptual data store that allows networked devices 69 to be managed using NETCONF [RFC6241]. YANG is proving relevant 70 beyond its initial confines, as bindings to other interfaces (e.g., 71 ReST) and encodings other than XML (e.g., JSON) are being defined. 72 Furthermore, YANG data models can be used as the basis for 73 implementation of other interfaces, such as CLI and programmatic 74 APIs. 76 This document defines a YANG data model augmenting the IETF OSPF YANG 77 model [I-D.ietf-ospf-yang], which itself augments [RFC8349], to 78 provide support for configuration and operational state for OSPFv3 79 Extended LSAs as defined in [RFC8362]. 81 1.1. Requirements Language 83 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 84 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 85 document are to be interpreted as described in [RFC2119]. 87 2. OSPFv3 Extended LSAs 89 This document defines a model for the OSPFv3 Extended LSA feature. 90 It is an augmentation of the OSPF base model provided support for 91 OSPFv3 Link State Advertisement (LSA) Extensibility [RFC8362]. 92 OSPFv3 Extended LSAs provide extensible TLV-based LSAs for the base 93 LSA types defined in [RFC5340]. 95 The OSPFv3 Extended LSA YANG module requires support for the OSPF 96 base model[I-D.ietf-ospf-yang] which defines basic OSPF configuration 97 and state. The OSPF YANG model augments the ietf-routing YANG model 98 defined in [RFC8022]. The augmentations defined in the ietf-ospfv3- 99 extended-lsa YANG model will provide global configuration, area 100 configuration, and addition of OSPFv3 Extended LSAs to the Link State 101 Database (LSDB) operational state. 103 module: ietf-ospfv3-extended-lsa 104 augment /rt:routing/rt:control-plane-protocols 105 /rt:control-plane-protocol/ospf:ospf: 106 +--rw extended-lsa-support? boolean {extended-lsa-support}? 107 augment /rt:routing/rt:control-plane-protocols 108 /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area: 109 +--rw extended-lsa-support? boolean {extended-lsa-support}? 110 augment /rt:routing/rt:control-plane-protocols 111 /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area 112 /ospf:interfaces/ospf:interface/ospf:database 113 /ospf:link-scope-lsa-type/ospf:link-scope-lsas 114 /ospf:link-scope-lsa/ospf:version/ospf:ospfv3 115 /ospf:ospfv3/ospf:body: 116 augment /rt:routing/rt:control-plane-protocols 117 /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area 118 /ospf:database/ospf:area-scope-lsa-type 119 /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version 120 /ospf:ospfv3/ospf:ospfv3/ospf:body: 121 +--ro e-router 122 | +--ro router-bits 123 | | +--ro rtr-lsa-bits* identityref 124 | +--ro lsa-options 125 | | +--ro lsa-options* identityref 126 | +--ro e-router-tlvs* 127 | +--ro unknown-tlv 128 | | +--ro type? uint16 129 | | +--ro length? uint16 130 | | +--ro value? yang:hex-string 131 | +--ro link-tlv 132 | +--ro link-tlv-length? uint16 133 | +--ro interface-id? uint32 134 | +--ro neighbor-interface-id? uint32 135 | +--ro neighbor-router-id? rt-types:router-id 136 | +--ro type? uint8 137 | +--ro metric? uint16 138 | +--ro sub-tlvs* 139 | +--ro unknown-sub-tlv 140 | +--ro type? uint16 141 | +--ro length? uint16 142 | +--ro value? yang:hex-string 143 +--ro e-network 144 | +--ro lsa-options 145 | | +--ro lsa-options* identityref 146 | +--ro e-network-tlvs* 147 | +--ro unknown--tlv 148 | | +--ro type? uint16 149 | | +--ro length? uint16 150 | | +--ro value? yang:hex-string 151 | +--ro attached-router-tlv 152 | +--ro attached-router-tlv-length? uint16 153 | +--ro Adjacent-neighbor-router-id? rt-types:router-id 154 | +--ro sub-tlvs* 155 | +--ro unknown-sub-tlv 156 | +--ro type? uint16 157 | +--ro length? uint16 158 | +--ro value? yang:hex-string 159 +--ro e-inter-area-prefix 160 | +--ro e-inter-prefix-tlvs* 161 | +--ro unknown--tlv 162 | | +--ro type? uint16 163 | | +--ro length? uint16 164 | | +--ro value? yang:hex-string 165 | +--ro inter-prefix-tlv 166 | +--ro inter-prefix-tlv-length? uint16 167 | +--ro metric? rt-types:uint24 168 | +--ro prefix? inet:ip-prefix 169 | +--ro prefix-options 170 | | +--ro prefix-options* identityref 171 | +--ro prefix-length? uint8 172 | +--ro sub-tlvs* 173 | +--ro unknown-sub-tlv 174 | +--ro type? uint16 175 | +--ro length? uint16 176 | +--ro value? yang:hex-string 177 +--ro e-inter-area-router 178 | +--ro e-inter-router-tlvs* 179 | +--ro unknown-tlv 180 | | +--ro type? uint16 181 | | +--ro length? uint16 182 | | +--ro value? yang:hex-string 183 | +--ro inter-router-tlv 184 | +--ro inter-router-tlv-length? uint16 185 | +--ro router-bits 186 | | +--ro rtr-lsa-bits* identityref 187 | +--ro lsa-options 188 | | +--ro lsa-options* identityref 189 | +--ro metric? rt-types:uint24 190 | +--ro destination-router-id? rt-types:router-id 191 | +--ro sub-tlvs* 192 | +--ro unknown-sub-tlv 193 | +--ro type? uint16 194 | +--ro length? uint16 195 | +--ro value? yang:hex-string 196 +--ro e-as-external 197 | +--ro e-external-tlvs* 198 | +--ro unknown-tlv 199 | | +--ro type? uint16 200 | | +--ro length? uint16 201 | | +--ro value? yang:hex-string 202 | +--ro external-prefix-tlv 203 | +--ro external-prefix-tlv-length? uint16 204 | +--ro flags 205 | | +--ro ospfv3-e-external-prefix-bits* identityref 206 | +--ro metric? rt-types:uint24 207 | +--ro prefix? inet:ip-prefix 208 | +--ro prefix-options 209 | | +--ro prefix-options* identityref 210 | +--ro prefix-length? uint8 211 | +--ro sub-tlvs* 212 | +--ro unknown-sub-tlv 213 | | +--ro type? uint16 214 | | +--ro length? uint16 215 | | +--ro value? yang:hex-string 216 | +--ro ipv6-fwd-addr-sub-tlv 217 | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 218 | | +--ro forwarding-address? inet:ipv6-address 219 | +--ro ipv4-fwd-addr-sub-tlv 220 | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 221 | | +--ro forwarding-address? inet:ipv4-address 222 | +--ro route-tag-sub-tlv 223 | +--ro route-tag-sub-tlv-length? uint16 224 | +--ro route-tag? uint32 225 +--ro e-nssa 226 | +--ro e-external-tlvs* 227 | +--ro unknown-tlv 228 | | +--ro type? uint16 229 | | +--ro length? uint16 230 | | +--ro value? yang:hex-string 231 | +--ro external-prefix-tlv 232 | +--ro external-prefix-tlv-length? uint16 233 | +--ro flags 234 | | +--ro ospfv3-e-external-prefix-bits* identityref 235 | +--ro metric? rt-types:uint24 236 | +--ro prefix? inet:ip-prefix 237 | +--ro prefix-options 238 | | +--ro prefix-options* identityref 239 | +--ro prefix-length? uint8 240 | +--ro sub-tlvs* 241 | +--ro unknown-sub-tlv 242 | | +--ro type? uint16 243 | | +--ro length? uint16 244 | | +--ro value? yang:hex-string 245 | +--ro ipv6-fwd-addr-sub-tlv 246 | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 247 | | +--ro forwarding-address? inet:ipv6-address 248 | +--ro ipv4-fwd-addr-sub-tlv 249 | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 250 | | +--ro forwarding-address? inet:ipv4-address 251 | +--ro route-tag-sub-tlv 252 | +--ro route-tag-sub-tlv-length? uint16 253 | +--ro route-tag? uint32 254 +--ro e-link 255 | +--ro rtr-priority? uint8 256 | +--ro lsa-options 257 | | +--ro lsa-options* identityref 258 | +--ro e-link-tlvs* 259 | +--ro unknown-tlv 260 | | +--ro type? uint16 261 | | +--ro length? uint16 262 | | +--ro value? yang:hex-string 263 | +--ro intra-prefix-tlv 264 | | +--ro intra-prefix-tlv-length? uint16 265 | | +--ro metric? rt-types:uint24 266 | | +--ro prefix? inet:ip-prefix 267 | | +--ro prefix-options 268 | | | +--ro prefix-options* identityref 269 | | +--ro prefix-length? uint8 270 | | +--ro sub-tlvs* 271 | | +--ro unknown-sub-tlv 272 | | +--ro type? uint16 273 | | +--ro length? uint16 274 | | +--ro value? yang:hex-string 275 | +--ro ipv6-link-local-tlv 276 | | +--ro ipv6-link-local-tlv-length? uint16 277 | | +--ro link-local-address? inet:ipv6-address 278 | | +--ro sub-tlvs* 279 | | +--ro unknown-sub-tlv 280 | | +--ro type? uint16 281 | | +--ro length? uint16 282 | | +--ro value? yang:hex-string 283 | +--ro ipv4-link-local-tlv 284 | +--ro ipv4-link-local-tlv-length? uint16 285 | +--ro link-local-address? inet:ipv4-address 286 | +--ro sub-tlvs* 287 | +--ro unknown-sub-tlv 288 | +--ro type? uint16 289 | +--ro length? uint16 290 | +--ro value? yang:hex-string 291 +--ro e-intra-area-prefix 292 +--ro referenced-ls-type? uint16 293 +--ro referenced-link-state-id? uint32 294 +--ro referenced-adv-router? rt-types:router-id 295 +--ro e-intra-prefix-tlvs* 296 +--ro unknown-tlv 297 | +--ro type? uint16 298 | +--ro length? uint16 299 | +--ro value? yang:hex-string 300 +--ro intra-prefix-tlv 301 +--ro intra-prefix-tlv-length? uint16 302 +--ro metric? rt-types:uint24 303 +--ro prefix? inet:ip-prefix 304 +--ro prefix-options 305 | +--ro prefix-options* identityref 306 +--ro prefix-length? uint8 307 +--ro sub-tlvs* 308 +--ro unknown-sub-tlv 309 +--ro type? uint16 310 +--ro length? uint16 311 +--ro value? yang:hex-string 312 augment /rt:routing/rt:control-plane-protocols 313 /rt:control-plane-protocol/ospf:ospf/ospf:database 314 /ospf:as-scope-lsa-type/ospf:as-scope-lsas 315 /ospf:as-scope-lsa/ospf:version/ospf:ospfv3 316 /ospf:ospfv3/ospf:body: 317 +--ro e-router 318 | +--ro router-bits 319 | | +--ro rtr-lsa-bits* identityref 320 | +--ro lsa-options 321 | | +--ro lsa-options* identityref 322 | +--ro e-router-tlvs* 323 | +--ro unknown-tlv 324 | | +--ro type? uint16 325 | | +--ro length? uint16 326 | | +--ro value? yang:hex-string 327 | +--ro link-tlv 328 | +--ro link-tlv-length? uint16 329 | +--ro interface-id? uint32 330 | +--ro neighbor-interface-id? uint32 331 | +--ro neighbor-router-id? rt-types:router-id 332 | +--ro type? uint8 333 | +--ro metric? uint16 334 | +--ro sub-tlvs* 335 | +--ro unknown-sub-tlv 336 | +--ro type? uint16 337 | +--ro length? uint16 338 | +--ro value? yang:hex-string 339 +--ro e-network 340 | +--ro lsa-options 341 | | +--ro lsa-options* identityref 342 | +--ro e-network-tlvs* 343 | +--ro unknown--tlv 344 | | +--ro type? uint16 345 | | +--ro length? uint16 346 | | +--ro value? yang:hex-string 347 | +--ro attached-router-tlv 348 | +--ro attached-router-tlv-length? uint16 349 | +--ro Adjacent-neighbor-router-id? rt-types:router-id 350 | +--ro sub-tlvs* 351 | +--ro unknown-sub-tlv 352 | +--ro type? uint16 353 | +--ro length? uint16 354 | +--ro value? yang:hex-string 355 +--ro e-inter-area-prefix 356 | +--ro e-inter-prefix-tlvs* 357 | +--ro unknown--tlv 358 | | +--ro type? uint16 359 | | +--ro length? uint16 360 | | +--ro value? yang:hex-string 361 | +--ro inter-prefix-tlv 362 | +--ro inter-prefix-tlv-length? uint16 363 | +--ro metric? rt-types:uint24 364 | +--ro prefix? inet:ip-prefix 365 | +--ro prefix-options 366 | | +--ro prefix-options* identityref 367 | +--ro prefix-length? uint8 368 | +--ro sub-tlvs* 369 | +--ro unknown-sub-tlv 370 | +--ro type? uint16 371 | +--ro length? uint16 372 | +--ro value? yang:hex-string 373 +--ro e-inter-area-router 374 | +--ro e-inter-router-tlvs* 375 | +--ro unknown-tlv 376 | | +--ro type? uint16 377 | | +--ro length? uint16 378 | | +--ro value? yang:hex-string 379 | +--ro inter-router-tlv 380 | +--ro inter-router-tlv-length? uint16 381 | +--ro router-bits 382 | | +--ro rtr-lsa-bits* identityref 383 | +--ro lsa-options 384 | | +--ro lsa-options* identityref 385 | +--ro metric? rt-types:uint24 386 | +--ro destination-router-id? rt-types:router-id 387 | +--ro sub-tlvs* 388 | +--ro unknown-sub-tlv 389 | +--ro type? uint16 390 | +--ro length? uint16 391 | +--ro value? yang:hex-string 392 +--ro e-as-external 393 | +--ro e-external-tlvs* 394 | +--ro unknown-tlv 395 | | +--ro type? uint16 396 | | +--ro length? uint16 397 | | +--ro value? yang:hex-string 398 | +--ro external-prefix-tlv 399 | +--ro external-prefix-tlv-length? uint16 400 | +--ro flags 401 | | +--ro ospfv3-e-external-prefix-bits* identityref 402 | +--ro metric? rt-types:uint24 403 | +--ro prefix? inet:ip-prefix 404 | +--ro prefix-options 405 | | +--ro prefix-options* identityref 406 | +--ro prefix-length? uint8 407 | +--ro sub-tlvs* 408 | +--ro unknown-sub-tlv 409 | | +--ro type? uint16 410 | | +--ro length? uint16 411 | | +--ro value? yang:hex-string 412 | +--ro ipv6-fwd-addr-sub-tlv 413 | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 414 | | +--ro forwarding-address? inet:ipv6-address 415 | +--ro ipv4-fwd-addr-sub-tlv 416 | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 417 | | +--ro forwarding-address? inet:ipv4-address 418 | +--ro route-tag-sub-tlv 419 | +--ro route-tag-sub-tlv-length? uint16 420 | +--ro route-tag? uint32 421 +--ro e-nssa 422 | +--ro e-external-tlvs* 423 | +--ro unknown-tlv 424 | | +--ro type? uint16 425 | | +--ro length? uint16 426 | | +--ro value? yang:hex-string 427 | +--ro external-prefix-tlv 428 | +--ro external-prefix-tlv-length? uint16 429 | +--ro flags 430 | | +--ro ospfv3-e-external-prefix-bits* identityref 431 | +--ro metric? rt-types:uint24 432 | +--ro prefix? inet:ip-prefix 433 | +--ro prefix-options 434 | | +--ro prefix-options* identityref 435 | +--ro prefix-length? uint8 436 | +--ro sub-tlvs* 437 | +--ro unknown-sub-tlv 438 | | +--ro type? uint16 439 | | +--ro length? uint16 440 | | +--ro value? yang:hex-string 441 | +--ro ipv6-fwd-addr-sub-tlv 442 | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 443 | | +--ro forwarding-address? inet:ipv6-address 444 | +--ro ipv4-fwd-addr-sub-tlv 445 | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 446 | | +--ro forwarding-address? inet:ipv4-address 447 | +--ro route-tag-sub-tlv 448 | +--ro route-tag-sub-tlv-length? uint16 449 | +--ro route-tag? uint32 450 +--ro e-link 451 | +--ro rtr-priority? uint8 452 | +--ro lsa-options 453 | | +--ro lsa-options* identityref 454 | +--ro e-link-tlvs* 455 | +--ro unknown-tlv 456 | | +--ro type? uint16 457 | | +--ro length? uint16 458 | | +--ro value? yang:hex-string 459 | +--ro intra-prefix-tlv 460 | | +--ro intra-prefix-tlv-length? uint16 461 | | +--ro metric? rt-types:uint24 462 | | +--ro prefix? inet:ip-prefix 463 | | +--ro prefix-options 464 | | | +--ro prefix-options* identityref 465 | | +--ro prefix-length? uint8 466 | | +--ro sub-tlvs* 467 | | +--ro unknown-sub-tlv 468 | | +--ro type? uint16 469 | | +--ro length? uint16 470 | | +--ro value? yang:hex-string 471 | +--ro ipv6-link-local-tlv 472 | | +--ro ipv6-link-local-tlv-length? uint16 473 | | +--ro link-local-address? inet:ipv6-address 474 | | +--ro sub-tlvs* 475 | | +--ro unknown-sub-tlv 476 | | +--ro type? uint16 477 | | +--ro length? uint16 478 | | +--ro value? yang:hex-string 479 | +--ro ipv4-link-local-tlv 480 | +--ro ipv4-link-local-tlv-length? uint16 481 | +--ro link-local-address? inet:ipv4-address 482 | +--ro sub-tlvs* 483 | +--ro unknown-sub-tlv 484 | +--ro type? uint16 485 | +--ro length? uint16 486 | +--ro value? yang:hex-string 487 +--ro e-intra-area-prefix 488 +--ro referenced-ls-type? uint16 489 +--ro referenced-link-state-id? uint32 490 +--ro referenced-adv-router? rt-types:router-id 491 +--ro e-intra-prefix-tlvs* 492 +--ro unknown-tlv 493 | +--ro type? uint16 494 | +--ro length? uint16 495 | +--ro value? yang:hex-string 496 +--ro intra-prefix-tlv 497 +--ro intra-prefix-tlv-length? uint16 498 +--ro metric? rt-types:uint24 499 +--ro prefix? inet:ip-prefix 500 +--ro prefix-options 501 | +--ro prefix-options* identityref 502 +--ro prefix-length? uint8 503 +--ro sub-tlvs* 504 +--ro unknown-sub-tlv 505 +--ro type? uint16 506 +--ro length? uint16 507 +--ro value? yang:hex-string 509 3. OSPFv3 Extended LSA Yang Module 511 file "ietf-ospfv3-extended-lsa@2020-07-13.yang" 512 module ietf-ospfv3-extended-lsa { 513 yang-version 1.1; 514 namespace 515 "urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa"; 517 prefix ospfv3-e-lsa; 519 import ietf-routing-types { 520 prefix "rt-types"; 521 } 523 import ietf-inet-types { 524 prefix "inet"; 525 reference "RFC 6021 - Common YANG Data Types"; 526 } 527 import ietf-routing { 528 prefix "rt"; 529 reference "RFC 8349 - A YANG Data Model for Routing 530 Management (NMDA Version)"; 531 } 533 import ietf-ospf { 534 prefix "ospf"; 535 reference "RFC XXXX - A YANG Data Model for OSPF 536 Protocol"; 537 } 539 organization 540 "IETF LSR - Link State Routing Working Group"; 542 contact 543 "WG Web: 544 WG List: 546 Author: Acee Lindem 547 548 Author: Sharmila Palani 549 550 Author: Yingzhen Qu 551 "; 553 description 554 "This YANG module defines the configuration 555 and operational state for OSPFv3 Extended LSAs, which is 556 common across all of the vendor implementations. 558 This YANG model conforms to the Network Management 559 Datastore Architecture (NMDA) as described in RFC 8242. 561 Copyright (c) 2020 IETF Trust and the persons identified as 562 authors of the code. All rights reserved. 564 Redistribution and use in source and binary forms, with or 565 without modification, is permitted pursuant to, and subject to 566 the license terms contained in, the Simplified BSD License set 567 forth in Section 4.c of the IETF Trust's Legal Provisions 568 Relating to IETF Documents 569 (https://trustee.ietf.org/license-info). 571 This version of this YANG module is part of RFC XXXX 572 (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself 573 for full legal notices. 575 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 576 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 577 'MAY', and 'OPTIONAL' in this document are to be interpreted as 578 described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, 579 they appear in all capitals, as shown here. 581 This version of this YANG module is part of RFC XXXX; 582 see the RFC itself for full legal notices."; 584 reference "RFC XXXX"; 585 revision 2020-07-13 { 586 description 587 "Initial revision."; 588 reference 589 "RFC XXXX: A YANG Data Model for OSPFv3 Extended LSAs."; 590 } 592 feature extended-lsa-support { 593 description 594 "Support for OSPFv3 Extended LSAs"; 595 reference 596 "RFC 8362 - OSPFv3 Link State Advertisement (LSA) 597 Extensibility"; 598 } 600 /* 601 * OSPFv3 Extend LSA Type Identities 602 */ 603 identity ospfv3-e-router-lsa { 604 base ospf:ospfv3-lsa-type; 605 description 606 "OSPFv3 Extended Router LSA - Type 0xA021"; 607 } 609 identity ospfv3-e-network-lsa { 610 base ospf:ospfv3-lsa-type; 611 description 612 "OSPFv3 Extended Network LSA - Type 0xA022"; 613 } 615 identity ospfv3-e-summary-lsa-type { 616 base ospf:ospfv3-lsa-type; 617 description 618 "OSPFv3 Extended Summary LSA types"; 619 } 621 identity ospfv3-e-inter-area-prefix-lsa { 622 base ospfv3-e-summary-lsa-type; 623 description 624 "OSPFv3 Extended Inter-area Prefix LSA - Type 0xA023"; 625 } 627 identity ospfv3-e-inter-area-router-lsa { 628 base ospfv3-e-summary-lsa-type; 629 description 630 "OSPFv3 Exteneded Inter-area Router LSA - Type 0xA024"; 631 } 633 identity ospfv3-e-external-lsa-type { 634 base ospf:ospfv3-lsa-type; 635 description 636 "OSPFv3 Extended External LSA types"; 637 } 639 identity ospfv3-e-as-external-lsa { 640 base ospfv3-e-external-lsa-type; 641 description 642 "OSPFv3 Extended AS-External LSA - Type 0xC025"; 643 } 645 identity ospfv3-e-nssa-lsa { 646 base ospfv3-e-external-lsa-type; 647 description 648 "OSPFv3 Extended Not-So-Stubby-Area (NSSA) LSA - 649 Type 0xA027"; 650 } 652 identity ospfv3-e-link-lsa { 653 base ospf:ospfv3-lsa-type; 654 description 655 "OSPFv3 Extended Link LSA - Type 0x8028"; 656 } 658 identity ospfv3-e-intra-area-prefix-lsa { 659 base ospf:ospfv3-lsa-type; 660 description 661 "OSPFv3 Extended Intra-area Prefix LSA - Type 0xA029"; 662 } 664 identity ospfv3-e-prefix-option { 665 description 666 "Base identity for OSPFv3 Prefix Options."; 667 } 669 identity nu-bit { 670 base ospfv3-e-prefix-option; 671 description 672 "When set, the prefix should be excluded 673 from IPv6 unicast calculations."; 674 } 676 identity la-bit { 677 base ospfv3-e-prefix-option; 678 description 679 "When set, the prefix is actually an IPv6 interface 680 address of the Advertising Router."; 681 } 683 identity p-bit { 684 base ospfv3-e-prefix-option; 685 description 686 "When set, the NSSA area prefix should be 687 translated to an AS External LSA and advertised 688 by the translating NSSA Border Router."; 689 } 691 identity dn-bit { 692 base ospfv3-e-prefix-option; 693 description 694 "When set, the inter-area-prefix LSA or 695 AS-external LSA prefix has been advertised as an 696 L3VPN prefix."; 697 } 699 identity ospfv3-e-external-prefix-option { 700 description 701 "Base identity for OSPFv3 External Prefix Options."; 702 } 704 identity e-bit { 705 base ospfv3-e-external-prefix-option; 706 description 707 "When set, the metric specified is a Type 2 708 external metric."; 709 } 711 grouping unknown-sub-tlv { 712 description 713 "Unknown TLV grouping"; 714 container unknown-sub-tlv { 715 uses ospf:tlv; 716 description "Unknown External TLV Sub-TLV"; 717 } 718 } 719 grouping ospfv3-lsa-prefix { 720 description 721 "OSPFv3 LSA prefix"; 723 leaf prefix { 724 type inet:ip-prefix; 725 description 726 "LSA Prefix"; 727 } 728 container prefix-options { 729 leaf-list prefix-options { 730 type identityref { 731 base ospfv3-e-prefix-option; 732 } 733 description 734 "OSPFv3 prefix option flag list. This list will 735 contain the identities for the OSPFv3 options 736 that are set for the OSPFv3 prefix."; 737 } 738 description "Prefix options."; 739 } 741 leaf prefix-length { 742 type uint8 { 743 range "0..128"; 744 } 745 description "Prefix length."; 746 } 747 } 749 grouping ipv6-fwd-addr-sub-tlv { 750 container ipv6-fwd-addr-sub-tlv { 751 description 752 "IPv6 Forwarding Address Sub-TLV"; 753 leaf ipv6-fwd-addr-sub-tlv-length { 754 type uint16; 755 description 756 "IPv6 Forwarding Addrss Sub-TLV Length - 16 757 for IPv6 address"; 758 } 759 leaf forwarding-address { 760 type inet:ipv6-address; 761 description 762 "Forwarding address"; 763 } 764 } 765 description 766 "IPv6 Forwarding Address Sub-TLV grouping"; 768 } 770 grouping ipv4-fwd-addr-sub-tlv { 771 container ipv4-fwd-addr-sub-tlv { 772 description 773 "IPv4 Forwarding Address Sub-TLV"; 774 leaf ipv4-fwd-addr-sub-tlv-length { 775 type uint16; 776 description 777 "IPv4 Forwarding Addrss Sub-TLV Length - 4 778 for IPv4 address"; 779 } 780 leaf forwarding-address { 781 type inet:ipv4-address; 782 description 783 "Forwarding address"; 784 } 785 } 786 description 787 "IPv4 Forwarding Address Sub-TLV grouping"; 788 } 790 grouping route-tag-sub-tlv { 791 container route-tag-sub-tlv { 792 description 793 "Route Tag Sub-TLV"; 794 leaf route-tag-sub-tlv-length { 795 type uint16; 796 description 797 "Route Tag Sub-TLV Length - 4 for 32-bit tag"; 798 } 799 leaf route-tag { 800 type uint32; 801 description 802 "Route Tag"; 803 } 804 } 805 description 806 "Route Tag Sub-TLV grouping"; 807 } 809 grouping external-prefix-tlv { 810 container external-prefix-tlv { 811 description "External Prefix LSA TLV"; 812 leaf external-prefix-tlv-length { 813 type uint16; 814 description 815 "External Prefix TLV Length - Variable dependent 816 on sub-TLVs"; 817 } 818 container flags { 819 leaf-list ospfv3-e-external-prefix-bits { 820 type identityref { 821 base ospfv3-e-external-prefix-option; 822 } 823 description "OSPFv3 exernal-prefix TLV bits list."; 824 } 825 description "External Prefix Flags"; 826 } 827 leaf metric { 828 type rt-types:uint24; 829 description "External Prefix Metric"; 830 } 831 uses ospfv3-lsa-prefix; 832 list sub-tlvs { 833 description "External Prefix TLV Sub-TLVs"; 834 uses unknown-sub-tlv; 835 uses ipv6-fwd-addr-sub-tlv; 836 uses ipv4-fwd-addr-sub-tlv; 837 uses route-tag-sub-tlv; 838 } 839 } 840 description "External Prefix TLV Grouping"; 841 } 843 grouping intra-area-prefix-tlv { 844 container intra-prefix-tlv { 845 description "Intra-Area Prefix LSA TLV"; 846 leaf intra-prefix-tlv-length { 847 type uint16; 848 description 849 "Intra-Area Prefix TLV Length - Variable dependent 850 on sub-TLVs"; 851 } 852 leaf metric { 853 type rt-types:uint24; 854 description "Intra-Area Prefix Metric"; 855 } 856 uses ospfv3-lsa-prefix; 857 list sub-tlvs { 858 description "Intra-Area Prefix TLV Sub-TLVs"; 859 uses unknown-sub-tlv; 860 } 861 } 862 description "Intra-Area Prefix TLV Grouping"; 863 } 864 grouping ipv6-link-local-tlv { 865 container ipv6-link-local-tlv { 866 description "IPv6 Link-Local LSA TLV"; 867 leaf ipv6-link-local-tlv-length { 868 type uint16; 869 description 870 "IPv6 Link-Local TLV Length - Variable dependent 871 on sub-TLVs"; 872 } 873 leaf link-local-address { 874 type inet:ipv6-address; 875 description 876 "IPv6 Link Local address"; 877 } 878 list sub-tlvs { 879 description "IPv6 Link Local TLV Sub-TLVs"; 880 uses unknown-sub-tlv; 881 } 882 } 883 description "IPv6 Link-Local TLV Grouping"; 884 } 886 grouping ipv4-link-local-tlv { 887 container ipv4-link-local-tlv { 888 description "IPv6 Link-Local LSA TLV"; 889 leaf ipv4-link-local-tlv-length { 890 type uint16; 891 description 892 "IPv4 Link-Local TLV Length - Variable dependent 893 on sub-TLVs"; 894 } 895 leaf link-local-address { 896 type inet:ipv4-address; 897 description 898 "IPv4 Link Local address"; 899 } 900 list sub-tlvs { 901 description "IPv4 Link Local TLV Sub-TLVs"; 902 uses unknown-sub-tlv; 903 } 904 } 905 description "IPv4 Link-Local TLV Grouping"; 906 } 908 grouping ospfv3-e-lsa-body { 909 description "OSPFv3 Extended LSA body."; 910 container e-router { 911 when "derived-from(../../ospf:header/ospf:type, " 912 + "'ospfv3-e-router-lsa')" { 913 description "Only valid for OSPFv3 Extended-Router LSAs"; 914 } 915 description "OSPv3 Extended Router LSA"; 916 uses ospf:ospf-router-lsa-bits; 917 uses ospf:ospfv3-lsa-options; 919 list e-router-tlvs { 920 description "E-Router LSA TLVs"; 921 container unknown-tlv { 922 uses ospf:tlv; 923 description "Unknown E-Router TLV"; 924 } 925 container link-tlv { 926 description "E-Router LSA TLV"; 927 leaf link-tlv-length { 928 type uint16; 929 description 930 "Link TLV Length - Variable dependent on sub-TLVs"; 931 } 932 leaf interface-id { 933 type uint32; 934 description "Interface ID for link"; 935 } 936 leaf neighbor-interface-id { 937 type uint32; 938 description "Neighbor's Interface ID for link"; 939 } 940 leaf neighbor-router-id { 941 type rt-types:router-id; 942 description "Neighbor's Router ID for link"; 943 } 944 leaf type { 945 type uint8; 946 description "Link type: 1 - Point-to-Point Link 947 2 - Transit Network Link 948 3 - Stub Network Link Link 949 4 - Virtual Link"; 950 } 951 leaf metric { 952 type uint16; 953 description "Link Metric"; 954 } 955 list sub-tlvs { 956 description "Link TLV Sub-TLVs"; 957 uses unknown-sub-tlv; 958 } 959 } 961 } 962 } 964 container e-network { 965 when "derived-from(../../ospf:header/ospf:type, " 966 + "'ospfv3-e-network-lsa')" { 967 description 968 "Only applies to E-Network LSAs."; 969 } 970 description "Extended Network LSA"; 971 uses ospf:ospfv3-lsa-options; 972 list e-network-tlvs { 973 description "E-Network LSA TLVs"; 974 container unknown--tlv { 975 uses ospf:tlv; 976 description "Unknown E-Network TLV"; 977 } 978 container attached-router-tlv { 979 description "Attached Router TLV"; 980 leaf attached-router-tlv-length { 981 type uint16; 982 description 983 "Attached Router TLV Length - Variable dependent 984 on sub-TLVs"; 985 } 986 leaf Adjacent-neighbor-router-id { 987 type rt-types:router-id; 988 description "Adjacent Neighbor's Router ID"; 989 } 990 list sub-tlvs { 991 description "Attached Router TLV Sub-TLVs"; 992 uses unknown-sub-tlv; 993 } 994 } 995 } 996 } 998 container e-inter-area-prefix { 999 when "derived-from(../../ospf:header/ospf:type, " 1000 + "'ospfv3-e-inter-area-prefix-lsa')" { 1001 description 1002 "Only applies to E-Inter-Area-Prefix LSAs."; 1003 } 1004 description "Extended Inter-Area Prefix LSA"; 1005 list e-inter-prefix-tlvs { 1006 description "E-Inter-Area-Prefix LSA TLVs"; 1007 container unknown--tlv { 1008 uses ospf:tlv; 1009 description "Unknown E-Inter-Area-Prefix TLV"; 1010 } 1011 container inter-prefix-tlv { 1012 description "Unknown E-Inter-Area-Prefix LSA TLV"; 1013 leaf inter-prefix-tlv-length { 1014 type uint16; 1015 description 1016 "Inter-Area-Prefix TLV Length - Variable dependent 1017 on sub-TLVs"; 1018 } 1019 leaf metric { 1020 type rt-types:uint24; 1021 description "Inter-Area Prefix Metric"; 1022 } 1023 uses ospfv3-lsa-prefix; 1024 list sub-tlvs { 1025 description "Inter-Area Prefix TLV Sub-TLVs"; 1026 uses unknown-sub-tlv; 1027 } 1028 } 1029 } 1030 } 1032 container e-inter-area-router { 1033 when "derived-from(../../ospf:header/ospf:type, " 1034 + "'ospfv3-e-inter-area-router-lsa')" { 1035 description 1036 "Only applies to E-Inter-Area-Router LSAs."; 1037 } 1038 description "Extended Inter-Area Router LSA"; 1039 list e-inter-router-tlvs { 1040 description "E-Inter-Area-Router LSA TLVs"; 1041 container unknown-tlv { 1042 uses ospf:tlv; 1043 description "Unknown E-Inter-Area-Router TLV"; 1044 } 1045 container inter-router-tlv { 1046 description "Unknown E-Inter-Area-Router LSA TLV"; 1047 leaf inter-router-tlv-length { 1048 type uint16; 1049 description 1050 "Inter-Area-Router TLV Length - Variable dependent 1051 on sub-TLVs"; 1052 } 1053 uses ospf:ospf-router-lsa-bits; 1054 uses ospf:ospfv3-lsa-options; 1055 leaf metric { 1056 type rt-types:uint24; 1057 description "Inter-Area Router Metric"; 1058 } 1059 leaf destination-router-id { 1060 type rt-types:router-id; 1061 description "Destination Router ID"; 1062 } 1063 list sub-tlvs { 1064 description "Inter-Area Router TLV Sub-TLVs"; 1065 uses unknown-sub-tlv; 1066 } 1067 } 1068 } 1069 } 1071 container e-as-external { 1072 when "derived-from-or-self(../../ospf:header/ospf:type, " 1073 + "'ospfv3-e-as-external-lsa')" { 1074 description 1075 "Only applies to E-AS-external LSAs."; 1076 } 1077 list e-external-tlvs { 1078 description "E-External LSA TLVs"; 1079 container unknown-tlv { 1080 uses ospf:tlv; 1081 description "Unknown E-External TLV"; 1082 } 1083 uses external-prefix-tlv; 1084 } 1085 description "E-AS-External LSA."; 1086 } 1088 container e-nssa { 1089 when "derived-from-or-self(../../ospf:header/ospf:type, " 1090 + "'ospfv3-e-nssa-lsa')" { 1091 description 1092 "Only applies to E-NSSA LSAs."; 1093 } 1094 list e-external-tlvs { 1095 description "E-NSSA LSA TLVs"; 1096 container unknown-tlv { 1097 uses ospf:tlv; 1098 description "Unknown E-External TLV"; 1099 } 1100 uses external-prefix-tlv; 1101 } 1102 description "E-NSSA LSA."; 1103 } 1104 container e-link { 1105 when "derived-from-or-self(../../ospf:header/ospf:type, " 1106 + "'ospfv3-e-link-lsa')" { 1107 description 1108 "Only applies to Extended Link LSAs."; 1109 } 1110 description "E-Link LSA"; 1111 leaf rtr-priority { 1112 type uint8; 1113 description "Router Priority for the interface."; 1114 } 1115 uses ospf:ospfv3-lsa-options; 1116 list e-link-tlvs { 1117 description "E-Link LSA TLVs"; 1118 container unknown-tlv { 1119 uses ospf:tlv; 1120 description "Unknown E-Link TLV"; 1121 } 1122 uses intra-area-prefix-tlv; 1123 uses ipv6-link-local-tlv; 1124 uses ipv4-link-local-tlv; 1125 } 1126 } 1128 container e-intra-area-prefix { 1129 when "derived-from-or-self(../../ospf:header/ospf:type, " 1130 + "'ospfv3-e-intra-area-prefix-lsa')" { 1131 description 1132 "Only applies to E-Intra-Area-Prefix LSAs."; 1133 } 1134 description "E-Intra-Area-Prefix LSA"; 1135 leaf referenced-ls-type { 1136 type uint16; 1137 description "Referenced Link State type"; 1138 } 1139 leaf referenced-link-state-id { 1140 type uint32; 1141 description 1142 "Referenced Link State ID"; 1143 } 1144 leaf referenced-adv-router { 1145 type rt-types:router-id; 1146 description 1147 "Referenced Advertising Router"; 1148 } 1149 list e-intra-prefix-tlvs { 1150 description "E-Intra-Area-Prefix LSA TLVs"; 1151 container unknown-tlv { 1152 uses ospf:tlv; 1153 description "Unknown E-Intra-Area-Prefix TLV"; 1154 } 1155 uses intra-area-prefix-tlv; 1156 } 1157 } 1158 } 1160 /* Configuration */ 1161 augment "/rt:routing/rt:control-plane-protocols" 1162 + "/rt:control-plane-protocol/ospf:ospf" { 1163 when "/rt:routing/rt:control-plane-protocols" 1164 + "/rt:control-plane-protocol/rt:type = 'ospf:ospfv3'" { 1165 description 1166 "This augments the OSPFv3 routing protocol when used."; 1167 } 1168 description 1169 "This augments the OSPFv3 protocol configuration 1170 with segment routing."; 1171 leaf extended-lsa-support { 1172 if-feature extended-lsa-support; 1173 type boolean; 1174 default false; 1175 description 1176 "Enable OSPFv3 Extended LSA Support for the OSPFv3 1177 domain"; 1178 } 1179 } 1181 augment "/rt:routing/rt:control-plane-protocols/" 1182 + "rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area" { 1183 when "'ospf:../../../../../rt:type' = 'ospf:ospfv3'" { 1184 description 1185 "This augments the OSPFv3 area configuration 1186 when used."; 1187 } 1188 description 1189 "This augments the OSPFv3 protocol area 1190 configuration with Extend LSA support"; 1191 leaf extended-lsa-support { 1192 if-feature extended-lsa-support; 1193 type boolean; 1194 default false; 1195 description 1196 "Enable OSPFv3 Extended LSA Support for the OSPFv3 area"; 1197 } 1198 } 1199 /* 1200 * Link State Database (LSDB) Augmentations 1201 */ 1202 augment "/rt:routing/" 1203 + "rt:control-plane-protocols/rt:control-plane-protocol/" 1204 + "ospf:ospf/ospf:areas/ospf:area/" 1205 + "ospf:interfaces/ospf:interface/ospf:database/" 1206 + "ospf:link-scope-lsa-type/ospf:link-scope-lsas/" 1207 + "ospf:link-scope-lsa/ospf:version/ospf:ospfv3/" 1208 + "ospf:ospfv3/ospf:body" { 1209 when "/rt:routing/rt:control-plane-protocols" 1210 + "/rt:control-plane-protocol/rt:type = 'ospf:ospfv3'" { 1211 description 1212 "This augmentation is only valid for OSPFv3."; 1213 } 1214 description 1215 "OSPFv3 Link-Scoped Extended LSAs"; 1216 } 1218 augment "/rt:routing/" 1219 + "rt:control-plane-protocols/rt:control-plane-protocol/" 1220 + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" 1221 + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" 1222 + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" 1223 + "ospf:ospfv3/ospf:body" { 1224 when "../../../../../../../../../" 1225 + "rt:type = 'ospf:ospfv3'" { 1226 description 1227 "This augmentation is only valid for OSPFv3 1228 E-Router LSAs"; 1229 } 1230 uses ospfv3-e-lsa-body; 1231 description 1232 "OSPFv3 Area-Scoped Extended LSAs"; 1233 } 1234 augment "/rt:routing/" 1235 + "rt:control-plane-protocols/rt:control-plane-protocol/" 1236 + "ospf:ospf/ospf:database/" 1237 + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" 1238 + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" 1239 + "ospf:ospfv3/ospf:body" { 1240 when "'ospf:../../../../../../../../../" 1241 + "rt:type' = 'ospf:ospfv3'" { 1242 description 1243 "This augmentation is only valid for OSPFv3."; 1244 } 1245 uses ospfv3-e-lsa-body; 1246 description 1247 "OSPFv3 AS-Scoped Extended LSAs"; 1248 } 1249 } 1250 1252 4. Security Considerations 1254 The YANG modules specified in this document define a schema for data 1255 that is designed to be accessed via network management protocols such 1256 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1257 is the secure transport layer, and the mandatory-to-implement secure 1258 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 1259 is HTTPS, and the mandatory-to-implement secure transport is TLS 1260 [RFC5246]. 1262 The NETCONF access control model [RFC6536] provides the means to 1263 restrict access for particular NETCONF or RESTCONF users to a pre- 1264 configured subset of all available NETCONF or RESTCONF protocol 1265 operations and content. 1267 There are a number of data nodes defined in ietf-ospfv3-extended- 1268 lsa.yang module that are writable/creatable/deletable (i.e., config 1269 true, which is the default). These data nodes may be considered 1270 sensitive or vulnerable in some network environments. Write 1271 operations (e.g., edit-config) to these data nodes without proper 1272 protection can have a negative effect on network operations. For 1273 OSPFv3 Extended LSAs, the ability to disable OSPFv3 Extended LSA 1274 support result in a denial of service. 1276 Some of the readable data nodes in the ietf-ospfv3-extended-lsa.yang 1277 module may be considered sensitive or vulnerable in some network 1278 environments. It is thus important to control read access (e.g., via 1279 get, get-config, or notification) to these data nodes. The exposure 1280 of the Link State Database (LSDB) will expose the detailed topology 1281 of the network. This may be undesirable since both due to the fact 1282 that exposure may facilitate other attacks. Additionally, network 1283 operators may consider their topologies to be sensitive confidential 1284 data. 1286 5. IANA Considerations 1288 This document registers a URI in the IETF XML registry [RFC3688]. 1289 Following the format in [RFC3688], the following registration is 1290 requested to be made: 1292 URI: urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa 1293 Registrant Contact: The IESG. 1294 XML: N/A, the requested URI is an XML namespace. 1296 This document registers a YANG module in the YANG Module Names 1297 registry [RFC6020]. 1299 name: ietf-ospfv3-extended-lsa 1300 namespace: urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa 1301 prefix: ospfv3-e-lsa 1302 reference: RFC XXXX 1304 6. Acknowledgements 1306 This document was produced using Marshall Rose's xml2rfc tool. 1308 The YANG model was developed using the suite of YANG tools written 1309 and maintained by numerous authors. 1311 7. References 1313 7.1. Normative References 1315 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1316 Requirement Levels", BCP 14, RFC 2119, 1317 DOI 10.17487/RFC2119, March 1997, 1318 . 1320 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1321 DOI 10.17487/RFC3688, January 2004, 1322 . 1324 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1325 (TLS) Protocol Version 1.2", RFC 5246, 1326 DOI 10.17487/RFC5246, August 2008, 1327 . 1329 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 1330 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 1331 . 1333 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1334 the Network Configuration Protocol (NETCONF)", RFC 6020, 1335 DOI 10.17487/RFC6020, October 2010, 1336 . 1338 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1339 and A. Bierman, Ed., "Network Configuration Protocol 1340 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1341 . 1343 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1344 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1345 . 1347 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1348 Protocol (NETCONF) Access Control Model", RFC 6536, 1349 DOI 10.17487/RFC6536, March 2012, 1350 . 1352 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1353 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1354 . 1356 [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 1357 Management", RFC 8022, DOI 10.17487/RFC8022, November 1358 2016, . 1360 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1361 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1362 . 1364 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 1365 Routing Management (NMDA Version)", RFC 8349, 1366 DOI 10.17487/RFC8349, March 2018, 1367 . 1369 [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and 1370 F. Baker, "OSPFv3 Link State Advertisement (LSA) 1371 Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 1372 2018, . 1374 7.2. Informative References 1376 [I-D.ietf-ospf-yang] 1377 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 1378 "YANG Data Model for OSPF Protocol", draft-ietf-ospf- 1379 yang-29 (work in progress), October 2019. 1381 Authors' Addresses 1383 Acee Lindem 1384 Cisco Systems 1385 301 Midenhall Way 1386 Cary, NC 27513 1388 EMail: acee@cisco.com 1389 Sharmila Palani 1390 Cisco Systems 1391 170 West Tasman Drive 1392 San Jose, CA 95134 1394 EMail: shpalani@cisco.com 1396 Yingzhen Qu 1397 Futurewei 1398 2330 Central Expressway 1399 Santa Clara, CA 95050 1400 USA 1402 EMail: yingzhen.qu@futurewei.com