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. |