rfc9587v1.txt   rfc9587.txt 
skipping to change at line 69 skipping to change at line 69
7.2. Informative References 7.2. Informative References
Appendix A. Configuration Example Appendix A. Configuration Example
Acknowledgements Acknowledgements
Authors' Addresses Authors' Addresses
1. Overview 1. Overview
YANG [RFC7950] is a data definition language used to define the YANG [RFC7950] is a data definition language used to define the
contents of a conceptual datastore that allows networked devices to contents of a conceptual datastore that allows networked devices to
be managed using NETCONF [RFC6241]. YANG is proving relevant beyond be managed using NETCONF [RFC6241]. YANG is proving relevant beyond
its initial confines as bindings to other interfaces (e.g., ReST) and its initial confines as bindings to other interfaces (e.g., RESTCONF
encodings other than XML (e.g., JSON) are being defined. [RFC8040]) and encodings other than XML (e.g., JSON) are being
Furthermore, YANG data models can be used as the basis for defined. Furthermore, YANG data models can be used as the basis for
implementation of other interfaces, such as Command-Line Interfaces implementation of other interfaces, such as Command-Line Interfaces
(CLIs) and programmatic APIs. (CLIs) and programmatic APIs.
This document defines a YANG data model augmenting the IETF OSPF YANG This document defines a YANG data model augmenting the IETF OSPF YANG
data model [RFC9129], which itself augments [RFC8349], to provide data model [RFC9129], which itself augments [RFC8349], to provide
support for configuration and operational state for OSPFv3 Extended support for configuration and operational state for OSPFv3 Extended
Link State Advertisements (LSAs) as defined in [RFC8362]. Link State Advertisements (LSAs) as defined in [RFC8362].
The YANG module specified in this document conforms to the Network The YANG module specified in this document conforms to the Network
Management Datastore Architecture (NMDA) [RFC8342]. Management Datastore Architecture (NMDA) [RFC8342].
skipping to change at line 138 skipping to change at line 138
+--ro intra-prefix-tlv +--ro intra-prefix-tlv
| +--ro metric? ospf:ospf-metric | +--ro metric? ospf:ospf-metric
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix
| +--ro prefix-options | +--ro prefix-options
| | +--ro prefix-options* identityref | | +--ro prefix-options* identityref
| +--ro sub-tlvs* [] | +--ro sub-tlvs* []
| +--ro unknown-sub-tlv | +--ro unknown-sub-tlv
| +--ro type? uint16 | +--ro type? uint16
| +--ro length? uint16 | +--ro length? uint16
| +--ro value? yang:hex-string | +--ro value? yang:hex-string
+--ro ipv6-link-local-tlv +--ro ipv6-link-local-addr-tlv
| +--ro link-local-address? inet:ipv6-address | +--ro link-local-address? inet:ipv6-address
| +--ro sub-tlvs* [] | +--ro sub-tlvs* []
| +--ro unknown-sub-tlv | +--ro unknown-sub-tlv
| +--ro type? uint16 | +--ro type? uint16
| +--ro length? uint16 | +--ro length? uint16
| +--ro value? yang:hex-string | +--ro value? yang:hex-string
+--ro ipv4-link-local-tlv +--ro ipv4-link-local-addr-tlv
+--ro link-local-address? inet:ipv4-address +--ro link-local-address? inet:ipv4-address
+--ro sub-tlvs* [] +--ro sub-tlvs* []
+--ro unknown-sub-tlv +--ro unknown-sub-tlv
+--ro type? uint16 +--ro type? uint16
+--ro length? uint16 +--ro length? uint16
+--ro value? yang:hex-string +--ro value? yang:hex-string
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area
/ospf:database/ospf:area-scope-lsa-type /ospf:database/ospf:area-scope-lsa-type
/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version
skipping to change at line 295 skipping to change at line 295
| +--ro forwarding-address? inet:ipv4-address | +--ro forwarding-address? inet:ipv4-address
+--ro route-tag-sub-tlv +--ro route-tag-sub-tlv
| +--ro route-tag? uint32 | +--ro route-tag? uint32
+--ro unknown-sub-tlv +--ro unknown-sub-tlv
+--ro type? uint16 +--ro type? uint16
+--ro length? uint16 +--ro length? uint16
+--ro value? yang:hex-string +--ro value? yang:hex-string
4. OSPFv3 Extended LSA YANG Module 4. OSPFv3 Extended LSA YANG Module
The "ietf-ospfv3-extended-lsa.yang" module defined in this document The following RFCs are not referenced in the document text but are
imports typedefs from [RFC8294] and [RFC6991] (which are not referenced in the "ietf-ospfv3-extended-lsa.yang" module: [RFC6991]
otherwise referenced in the document text) and from [RFC8349] and and [RFC8294].
[RFC9129]. This document also references [RFC8362] and [RFC5340].
<CODE BEGINS> file "ietf-ospfv3-extended-lsa@2024-05-16.yang" <CODE BEGINS> file "ietf-ospfv3-extended-lsa@2024-05-16.yang"
module ietf-ospfv3-extended-lsa { module ietf-ospfv3-extended-lsa {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa"; namespace "urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa";
prefix ospfv3-e-lsa; prefix ospfv3-e-lsa;
import ietf-routing-types { import ietf-routing-types {
prefix rt-types; prefix rt-types;
reference reference
skipping to change at line 383 skipping to change at line 382
Advertisements (LSAs)"; Advertisements (LSAs)";
} }
/* /*
* OSPFv3 Extended LSA Type Identities * OSPFv3 Extended LSA Type Identities
*/ */
identity ospfv3-e-router-lsa { identity ospfv3-e-router-lsa {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended Router-LSA - Type 0xA021."; "OSPFv3 E-Router-LSA - Type 0xA021.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.1"; Extensibility, Section 4.1";
} }
identity ospfv3-e-network-lsa { identity ospfv3-e-network-lsa {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended Network-LSA - Type 0xA022."; "OSPFv3 E-Network-LSA - Type 0xA022.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.2"; Extensibility, Section 4.2";
} }
identity ospfv3-e-summary-lsa-type { identity ospfv3-e-summary-lsa-type {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended Summary LSA types."; "OSPFv3 Extended Summary LSA types:
E-Inter-Area-Prefix-LSA and E-Inter-Area-Router-LSA.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Sections 4.3 and 4.4"; Extensibility, Sections 4.3 and 4.4";
} }
identity ospfv3-e-inter-area-prefix-lsa { identity ospfv3-e-inter-area-prefix-lsa {
base ospfv3-e-summary-lsa-type; base ospfv3-e-summary-lsa-type;
description description
"OSPFv3 Extended Inter-Area-Prefix-LSA - Type 0xA023."; "OSPFv3 E-Inter-Area-Prefix-LSA - Type 0xA023.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.3"; Extensibility, Section 4.3";
} }
identity ospfv3-e-inter-area-router-lsa { identity ospfv3-e-inter-area-router-lsa {
base ospfv3-e-summary-lsa-type; base ospfv3-e-summary-lsa-type;
description description
"OSPFv3 Extended Inter-Area-Router-LSA - Type 0xA024."; "OSPFv3 E-Inter-Area-Router-LSA - Type 0xA024.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.4"; Extensibility, Section 4.4";
} }
identity ospfv3-e-external-lsa-type { identity ospfv3-e-external-lsa-type {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended External LSA types."; "OSPFv3 Extended External LSA types:
E-AS-External-LSA and E-NSSA-LSA (where
NSSA expands to Not-So-Stubby-Area).";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Sections 4.5 and 4.6"; Extensibility, Sections 4.5 and 4.6";
} }
identity ospfv3-e-as-external-lsa { identity ospfv3-e-as-external-lsa {
base ospfv3-e-external-lsa-type; base ospfv3-e-external-lsa-type;
description description
"OSPFv3 Extended AS-External-LSA - Type 0xC025."; "OSPFv3 E-AS-External-LSA - Type 0xC025.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.5"; Extensibility, Section 4.5";
} }
identity ospfv3-e-nssa-lsa { identity ospfv3-e-nssa-lsa {
base ospfv3-e-external-lsa-type; base ospfv3-e-external-lsa-type;
description description
"OSPFv3 Extended Not-So-Stubby Area (NSSA) LSA - "OSPFv3 E-NSSA-LSA - Type 0xA027.";
Type 0xA027.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.6"; Extensibility, Section 4.6";
} }
identity ospfv3-e-link-lsa { identity ospfv3-e-link-lsa {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended Link LSA - Type 0x8028."; "OSPFv3 E-Link-LSA - Type 0x8028.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.7"; Extensibility, Section 4.7";
} }
identity ospfv3-e-intra-area-prefix-lsa { identity ospfv3-e-intra-area-prefix-lsa {
base ospf:ospfv3-lsa-type; base ospf:ospfv3-lsa-type;
description description
"OSPFv3 Extended Intra-Area-Prefix-LSA - Type 0xA029."; "OSPFv3 E-Intra-Area-Prefix-LSA - Type 0xA029.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.8"; Extensibility, Section 4.8";
} }
identity ospfv3-e-prefix-option { identity ospfv3-e-prefix-option {
description description
"Base identity for OSPFv3 prefix options."; "Base identity for OSPFv3 prefix options.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
skipping to change at line 494 skipping to change at line 495
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.1 Extensibility, Section 3.1
RFC 5340: OSPF for IPv6, Appendix A.4.1.1"; RFC 5340: OSPF for IPv6, Appendix A.4.1.1";
} }
identity la-bit { identity la-bit {
base ospfv3-e-prefix-option; base ospfv3-e-prefix-option;
description description
"When set, the prefix is actually an IPv6 interface "When set, the prefix is actually an IPv6 interface
address of the Advertising Router."; address of the advertising router.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.1 Extensibility, Section 3.1
RFC 5340: OSPF for IPv6, Appendix A.4.1.1"; RFC 5340: OSPF for IPv6, Appendix A.4.1.1";
} }
identity p-bit { identity p-bit {
base ospfv3-e-prefix-option; base ospfv3-e-prefix-option;
description description
"When set, the NSSA area prefix should be "When set, the NSSA prefix should be translated to an
translated to an AS-External-LSA and advertised E-AS-External-LSA and advertised by the translating
by the translating NSSA Border Router."; NSSA Border Router.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.1 Extensibility, Section 3.1
RFC 5340: OSPF for IPv6, Appendix A.4.1.1"; RFC 5340: OSPF for IPv6, Appendix A.4.1.1";
} }
identity dn-bit { identity dn-bit {
base ospfv3-e-prefix-option; base ospfv3-e-prefix-option;
description description
"When set, the Inter-Area-Prefix-LSA or "When set, the E-Inter-Area-Prefix-LSA or
AS-External-LSA prefix has been advertised as an E-AS-External-LSA prefix has been advertised as an
L3VPN prefix."; L3VPN prefix.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.1 Extensibility, Section 3.1
RFC 5340: OSPF for IPv6, Appendix A.4.1.1"; RFC 5340: OSPF for IPv6, Appendix A.4.1.1";
} }
identity n-bit { identity n-bit {
base ospfv3-e-prefix-option; base ospfv3-e-prefix-option;
description description
skipping to change at line 697 skipping to change at line 698
uses unknown-sub-tlv; uses unknown-sub-tlv;
} }
} }
description description
"Intra-Area-Prefix TLV grouping."; "Intra-Area-Prefix TLV grouping.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.7"; Extensibility, Section 3.7";
} }
grouping ipv6-link-local-tlv { grouping ipv6-link-local-addr-tlv {
container ipv6-link-local-tlv { container ipv6-link-local-addr-tlv {
description description
"IPv6 Link-Local LSA TLV."; "IPv6 Link-Local Address LSA TLV.";
leaf link-local-address { leaf link-local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"IPv6 Link-Local address."; "IPv6 Link-Local address.";
} }
list sub-tlvs { list sub-tlvs {
description description
"IPv6 Link-Local TLV sub-TLVs."; "IPv6 Link-Local Address TLV sub-TLVs.";
uses unknown-sub-tlv; uses unknown-sub-tlv;
} }
} }
description description
"IPv6 Link-Local TLV grouping."; "IPv6 Link-Local Address TLV grouping.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.8"; Extensibility, Section 3.8";
} }
grouping ipv4-link-local-tlv { grouping ipv4-link-local-addr-tlv {
container ipv4-link-local-tlv { container ipv4-link-local-addr-tlv {
description description
"IPv4 Link-Local LSA TLV."; "IPv4 Link-Local Address LSA TLV.";
leaf link-local-address { leaf link-local-address {
type inet:ipv4-address; type inet:ipv4-address;
description description
"IPv4 Link-Local address."; "IPv4 Link-Local address.";
} }
list sub-tlvs { list sub-tlvs {
description description
"IPv4 Link-Local TLV sub-TLVs."; "IPv4 Link-Local Address TLV sub-TLVs.";
uses unknown-sub-tlv; uses unknown-sub-tlv;
} }
} }
description description
"IPv4 Link-Local TLV grouping."; "IPv4 Link-Local Address TLV grouping.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 3.9"; Extensibility, Section 3.9";
} }
/* Configuration */ /* Configuration */
augment "/rt:routing/rt:control-plane-protocols" augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/ospf:ospf" { + "/rt:control-plane-protocol/ospf:ospf" {
when "../rt:type = 'ospf:ospfv3'" { when "../rt:type = 'ospf:ospfv3'" {
skipping to change at line 790 skipping to change at line 791
configuration with Extended LSA support."; configuration with Extended LSA support.";
leaf extended-lsa-support { leaf extended-lsa-support {
type boolean; type boolean;
must "derived-from(../ospf:area-type,'stub-nssa-area') or " must "derived-from(../ospf:area-type,'stub-nssa-area') or "
+ "(current() = 'true') or " + "(current() = 'true') or "
+ "(../../../extended-lsa-support = 'false')" { + "(../../../extended-lsa-support = 'false')" {
description description
"For regular areas, i.e., areas where AS-scoped LSAs "For regular areas, i.e., areas where AS-scoped LSAs
are flooded, disabling AreaExtendedLSASupport at the are flooded, disabling AreaExtendedLSASupport at the
area level is prohibited when ExtendedLSASupport is area level is prohibited when ExtendedLSASupport is
enabled at the instance level. AS-External-LSAs enabled at the instance level. E-AS-External-LSAs
are flooded into all OSPFv3 regular areas (i.e., not are flooded into all OSPFv3 regular areas (i.e., not
a stub or an NSSA), and disabling support at the a stub or an NSSA), and disabling support at the
area level is not possible."; area level is not possible.";
} }
description description
"This augments the OSPFv3 protocol area-level "This augments the OSPFv3 protocol area-level
configuration with Extended LSA support. When enabled, configuration with Extended LSA support. When enabled,
OSPFv3 Extended LSAs will be advertised and OSPFv3 Legacy OSPFv3 Extended LSAs will be advertised and OSPFv3 Legacy
LSAs will not be advertised. When disabled, OSPFv3 LSAs will not be advertised. When disabled, OSPFv3
Legacy LSAs will be advertised. However, OSPFv3 Extended Legacy LSAs will be advertised. However, OSPFv3 Extended
skipping to change at line 836 skipping to change at line 837
"This augmentation is only valid for OSPFv3."; "This augmentation is only valid for OSPFv3.";
} }
description description
"This augmentation adds OSPFv3 Link-scoped Extended LSAs "This augmentation adds OSPFv3 Link-scoped Extended LSAs
to the operational state for an interface Link State to the operational state for an interface Link State
Database (LSDB)."; Database (LSDB).";
container e-link { container e-link {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-link-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-link-lsa'" {
description description
"Only applies to Extended Link LSAs."; "Only applies to E-Link-LSAs.";
} }
description description
"E-Link-LSA."; "E-Link-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.7"; Extensibility, Section 4.7";
leaf rtr-priority { leaf rtr-priority {
type uint8; type uint8;
description description
"Router priority for the interface."; "Router priority for the interface.";
} }
uses ospf:ospfv3-lsa-options; uses ospf:ospfv3-lsa-options;
list e-link-tlvs { list e-link-tlvs {
description description
"E-Link-LSA TLVs."; "E-Link-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-Link TLV."; "Unknown E-Link TLV.";
} }
uses intra-area-prefix-tlv; uses intra-area-prefix-tlv;
uses ipv6-link-local-tlv; uses ipv6-link-local-addr-tlv;
uses ipv4-link-local-tlv; uses ipv4-link-local-addr-tlv;
} }
} }
} }
augment "/rt:routing/" augment "/rt:routing/"
+ "rt:control-plane-protocols/rt:control-plane-protocol/" + "rt:control-plane-protocols/rt:control-plane-protocol/"
+ "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + "ospf:ospf/ospf:areas/ospf:area/ospf:database/"
+ "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/"
+ "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/"
+ "ospf:ospfv3/ospf:body" { + "ospf:ospfv3/ospf:body" {
skipping to change at line 885 skipping to change at line 886
description description
"This augmentation adds OSPFv3 Area-scoped Extended LSAs "This augmentation adds OSPFv3 Area-scoped Extended LSAs
to the operational state for an area LSDB."; to the operational state for an area LSDB.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4"; Extensibility, Section 4";
container e-router { container e-router {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-router-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-router-lsa'" {
description description
"Only valid for OSPFv3 Extended-Router-LSAs."; "Only valid for OSPFv3 E-Router-LSAs.";
} }
description description
"OSPFv3 Extended Router-LSA."; "OSPFv3 E-Router-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.1"; Extensibility, Section 4.1";
uses ospf:ospf-router-lsa-bits; uses ospf:ospf-router-lsa-bits;
uses ospf:ospfv3-lsa-options; uses ospf:ospfv3-lsa-options;
list e-router-tlvs { list e-router-tlvs {
description description
"E-Router-LSA TLVs."; "E-Router-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
skipping to change at line 948 skipping to change at line 949
} }
} }
} }
container e-network { container e-network {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-network-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-network-lsa'" {
description description
"Only applies to E-Network-LSAs."; "Only applies to E-Network-LSAs.";
} }
description description
"Extended Network-LSA."; "E-Network-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.2"; Extensibility, Section 4.2";
uses ospf:ospfv3-lsa-options; uses ospf:ospfv3-lsa-options;
list e-network-tlvs { list e-network-tlvs {
description description
"E-Network-LSA TLVs."; "E-Network-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
skipping to change at line 978 skipping to change at line 979
} }
} }
} }
} }
container e-nssa { container e-nssa {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-nssa-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-nssa-lsa'" {
description description
"Only applies to E-NSSA-LSAs."; "Only applies to E-NSSA-LSAs.";
} }
description
"E-NSSA-LSA contents.";
list e-external-tlvs { list e-external-tlvs {
description description
"E-NSSA-LSA TLVs."; "E-NSSA-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-External TLV."; "Unknown E-External TLV.";
} }
uses external-prefix-tlv; uses external-prefix-tlv;
} }
description
"E-NSSA-LSA.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.6"; Extensibility, Section 4.6";
} }
container e-inter-area-prefix { container e-inter-area-prefix {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-inter-area-prefix-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-inter-area-prefix-lsa'" {
description description
"Only applies to E-Inter-Area-Prefix-LSAs."; "Only applies to E-Inter-Area-Prefix-LSAs.";
} }
description description
"Extended Inter-Area-Prefix-LSA."; "E-Inter-Area-Prefix-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.3"; Extensibility, Section 4.3";
list e-inter-prefix-tlvs { list e-inter-prefix-tlvs {
description description
"E-Inter-Area-Prefix-LSA TLVs."; "E-Inter-Area-Prefix-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-Inter-Area-Prefix TLV."; "Unknown E-Inter-Area-Prefix TLV.";
skipping to change at line 1037 skipping to change at line 1038
} }
} }
} }
container e-inter-area-router { container e-inter-area-router {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-inter-area-router-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-inter-area-router-lsa'" {
description description
"Only applies to E-Inter-Area-Router-LSAs."; "Only applies to E-Inter-Area-Router-LSAs.";
} }
description description
"Extended Inter-Area-Router-LSA."; "E-Inter-Area-Router-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.4"; Extensibility, Section 4.4";
list e-inter-router-tlvs { list e-inter-router-tlvs {
description description
"E-Inter-Area-Router-LSA TLVs."; "E-Inter-Area-Router-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-Inter-Area-Router TLV."; "Unknown E-Inter-Area-Router TLV.";
skipping to change at line 1078 skipping to change at line 1079
} }
} }
} }
container e-intra-area-prefix { container e-intra-area-prefix {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-intra-area-prefix-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-intra-area-prefix-lsa'" {
description description
"Only applies to E-Intra-Area-Prefix-LSAs."; "Only applies to E-Intra-Area-Prefix-LSAs.";
} }
description description
"E-Intra-Area-Prefix-LSA."; "E-Intra-Area-Prefix-LSA contents.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.8"; Extensibility, Section 4.8";
leaf referenced-ls-type { leaf referenced-ls-type {
type uint16; type uint16;
description description
"Referenced Link State type."; "Referenced Link State type.";
} }
leaf referenced-link-state-id { leaf referenced-link-state-id {
type uint32; type uint32;
description description
"Referenced Link State ID."; "Referenced Link State ID.";
} }
leaf referenced-adv-router { leaf referenced-adv-router {
type rt-types:router-id; type rt-types:router-id;
description description
"Referenced Advertising Router."; "Referenced advertising router.";
} }
list e-intra-prefix-tlvs { list e-intra-prefix-tlvs {
description description
"E-Intra-Area-Prefix-LSA TLVs."; "E-Intra-Area-Prefix-LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-Intra-Area-Prefix TLV."; "Unknown E-Intra-Area-Prefix TLV.";
} }
uses intra-area-prefix-tlv; uses intra-area-prefix-tlv;
skipping to change at line 1130 skipping to change at line 1131
} }
description description
"This augmentation adds OSPFv3 AS-scoped Extended LSAs to "This augmentation adds OSPFv3 AS-scoped Extended LSAs to
the operational state for an AS instance-level LSDB."; the operational state for an AS instance-level LSDB.";
container e-as-external { container e-as-external {
when "../../ospf:header/ospf:type = " when "../../ospf:header/ospf:type = "
+ "'ospfv3-e-lsa:ospfv3-e-as-external-lsa'" { + "'ospfv3-e-lsa:ospfv3-e-as-external-lsa'" {
description description
"Only applies to E-AS-External-LSAs."; "Only applies to E-AS-External-LSAs.";
} }
description
"E-AS-External-LSA contents.";
list e-external-tlvs { list e-external-tlvs {
description description
"E-External LSA TLVs."; "E-External LSA TLVs.";
container unknown-tlv { container unknown-tlv {
uses ospf:tlv; uses ospf:tlv;
description description
"Unknown E-External TLV."; "Unknown E-External TLV.";
} }
uses external-prefix-tlv; uses external-prefix-tlv;
} }
description
"E-AS-External-LSA.";
reference reference
"RFC 8362: OSPFv3 Link State Advertisement (LSA) "RFC 8362: OSPFv3 Link State Advertisement (LSA)
Extensibility, Section 4.5"; Extensibility, Section 4.5";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5. Security Considerations 5. Security Considerations
skipping to change at line 1190 skipping to change at line 1191
use solely OSPFv3 Extended LSAs or OSPFv3 Legacy LSAs for the OSPFv3 use solely OSPFv3 Extended LSAs or OSPFv3 Legacy LSAs for the OSPFv3
SPF computation. OSPFv3 routers using different types of LSAs will SPF computation. OSPFv3 routers using different types of LSAs will
result in incomplete reachability and possible partitioning of the result in incomplete reachability and possible partitioning of the
OSPFv3 routing domain. Refer to Section 6 of [RFC8362] for more OSPFv3 routing domain. Refer to Section 6 of [RFC8362] for more
information on OSPFv3 Extended LSA compatibility. information on OSPFv3 Extended LSA compatibility.
Some of the readable data nodes in the "ietf-ospfv3-extended- Some of the readable data nodes in the "ietf-ospfv3-extended-
lsa.yang" module may be considered sensitive or vulnerable in some lsa.yang" module may be considered sensitive or vulnerable in some
network environments. It is thus important to control read access network environments. It is thus important to control read access
(e.g., via get, get-config, or notification) to these data nodes. (e.g., via get, get-config, or notification) to these data nodes.
These are the subtrees and data nodes and their sensitivity/
vulnerability:
Exposing the Link State Database (LSDB) will in turn expose the Exposing the Link State Database (LSDB) will in turn expose the
detailed topology of the network. This includes topological detailed topology of the network. This includes topological
information from other routers. This may be undesirable due to the information from other routers. This may be undesirable due to the
fact that exposure may facilitate other attacks. Additionally, fact that exposure may facilitate other attacks. Additionally,
network operators may consider their topologies to be sensitive network operators may consider their topologies to be sensitive
confidential data. confidential data.
6. IANA Considerations 6. IANA Considerations
 End of changes. 41 change blocks. 
54 lines changed or deleted 53 lines changed or added

This html diff was produced by rfcdiff 1.48.