rfc9825v2.txt   rfc9825.txt 
skipping to change at line 116 skipping to change at line 116
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Administrative Tag Sub-TLV 2. Administrative Tag Sub-TLV
This document creates a new Administrative Tag sub-TLV for OSPFv2 and This document creates a new Administrative Tag Sub-TLV for OSPFv2 and
OSPFv3. This sub-TLV specifies one or more 32-bit unsigned integers OSPFv3. This sub-TLV specifies one or more 32-bit unsigned integers
that may be associated with an OSPF advertised prefix. The precise that may be associated with an OSPF advertised prefix. The precise
usage of these tags is beyond the scope of this document. usage of these tags is beyond the scope of this document.
The format of the Administrative Tag sub-TLV is as follows: The format of the Administrative Tag Sub-TLV is as follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| First Administrative Tag | | First Administrative Tag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| o | | o |
o o
skipping to change at line 162 skipping to change at line 162
Value: A variable length list of one or more administrative tags. Value: A variable length list of one or more administrative tags.
This sub-TLV will carry one or more 32-bit unsigned integer values This sub-TLV will carry one or more 32-bit unsigned integer values
that will be used as administrative tags. If the length is 0 or not that will be used as administrative tags. If the length is 0 or not
a multiple of 4 octets, the sub-TLV MUST be ignored, and the a multiple of 4 octets, the sub-TLV MUST be ignored, and the
reception SHOULD be logged for further analysis (subject to rate- reception SHOULD be logged for further analysis (subject to rate-
limiting). limiting).
3. Administrative Tag Applicability 3. Administrative Tag Applicability
The Administrative Tag sub-TLV specified herein will be valid as a The Administrative Tag Sub-TLV specified herein will be valid as a
sub-TLV of the following TLVs specified in [RFC7684]: sub-TLV of the following TLVs specified in [RFC7684]:
* Extended Prefix TLV advertised in the OSPFv2 Extended Prefix * Extended Prefix TLV advertised in the OSPFv2 Extended Prefix
Opaque LSA Opaque LSA
The Administrative Tag sub-TLV specified herein will be valid as a The Administrative Tag Sub-TLV specified herein will be valid as a
sub-TLV of the following TLVs specified in [RFC8362]: sub-TLV of the following TLVs specified in [RFC8362]:
* Inter-Area-Prefix TLV advertised in the E-Inter-Area-Prefix-LSA * Inter-Area-Prefix TLV advertised in the E-Inter-Area-Prefix-LSA
* Intra-Area-Prefix TLV advertised in the E-Intra-Area-Prefix-LSA * Intra-Area-Prefix TLV advertised in the E-Intra-Area-Prefix-LSA
* External-Prefix TLV advertised in the E-AS-External-LSA and the E- * External-Prefix TLV advertised in the E-AS-External-LSA and the E-
NSSA-LSA NSSA-LSA
The Administrative Tag sub-TLV specified herein will be valid as a The Administrative Tag Sub-TLV specified herein will be valid as a
sub-TLV of the following TLVs specified in [RFC9513]: sub-TLV of the following TLVs specified in [RFC9513]:
* SRv6 Locator TLV advertised in the SRv6 Locator LSA * SRv6 Locator TLV advertised in the SRv6 Locator LSA
4. Protocol Operation 4. Protocol Operation
An OSPF router supporting this specification MUST be able to An OSPF router supporting this specification MUST be able to
advertise and interpret at least one tag for all types of prefixes. advertise and interpret at least one tag for all types of prefixes.
An OSPF router supporting this specification MAY be able to advertise An OSPF router supporting this specification MAY be able to advertise
prefixes with multiple tags and propagate prefixes with multiple tags prefixes with multiple tags and propagate prefixes with multiple tags
between areas. The maximum tags that an implementation supports is a between areas. The maximum tags that an implementation supports is a
local matter depending upon supported applications using prefix tags. local matter depending upon supported applications using prefix tags.
Depending on the application, the number of tags supported by the Depending on the application, the number of tags supported by the
OSPF routers in the OSPF routing domain may limit the deployment of OSPF routers in the OSPF routing domain may limit the deployment of
that application. that application.
When tags are advertised for AS External or NSSA LSA prefixes, the When tags are advertised for AS External or NSSA LSA prefixes, the
existing tag in the OSPFv2 and OSPFv3 AS-External-LSA and NSSA-LSA existing tag in the OSPFv2 and OSPFv3 AS-External-LSA and NSSA-LSA
encodings MUST be utilized for the first tag. Additional tags MAY be encodings MUST be utilized for the first tag. Additional tags MAY be
advertised using the Administrative Tag sub-TLV specified in this advertised using the Administrative Tag Sub-TLV specified in this
document. This will facilitate backward compatibility with document. This will facilitate backward compatibility with
implementations that do not support this specification. implementations that do not support this specification.
An OSPF router supporting this specification SHOULD propagate An OSPF router supporting this specification SHOULD propagate
administrative tags when acting as an Area Border Router (ABR) and administrative tags when acting as an Area Border Router (ABR) and
when originating summary advertisements into other areas (unless when originating summary advertisements into other areas (unless
inhibited by local policy (Section 6)). Similarly, an OSPF router inhibited by local policy (Section 6)). Similarly, an OSPF router
supporting this specification and acting as an ABR for a NSSA SHOULD supporting this specification and acting as an ABR for a NSSA SHOULD
propagate tags when translating NSSA routes to AS External propagate tags when translating NSSA routes to AS External
advertisements [RFC3101] (also subject to local policy (Section 6)). advertisements [RFC3101] (also subject to local policy (Section 6)).
skipping to change at line 444 skipping to change at line 444
revision 2025-07-17 { revision 2025-07-17 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC 9825: Extensions to OSPF for Advertising Prefix "RFC 9825: Extensions to OSPF for Advertising Prefix
Administrative Tags."; Administrative Tags.";
} }
grouping prefix-admin-tag-sub-tlv { grouping prefix-admin-tag-sub-tlv {
description description
"Prefix Administrative Tag sub-TLVs."; "Prefix Administrative Tag Sub-TLVs.";
container prefix-admin-tag-sub-tlv { container prefix-admin-tag-sub-tlv {
config false; config false;
description description
"Prefix Administrative Tag sub-TLV."; "Prefix Administrative Tag Sub-TLV.";
leaf-list admin-tag { leaf-list admin-tag {
type uint32; type uint32;
description description
"Administrative tags."; "Administrative tags.";
} }
} }
} }
/* Configuration */ /* Configuration */
skipping to change at line 562 skipping to change at line 562
+ "/ospf:link-scope-lsa-type/ospf:link-scope-lsas" + "/ospf:link-scope-lsa-type/ospf:link-scope-lsas"
+ "/ospf:link-scope-lsa/ospf:version/ospf:ospfv2" + "/ospf:link-scope-lsa/ospf:version/ospf:ospfv2"
+ "/ospf:ospfv2/ospf:body/ospf:opaque" + "/ospf:ospfv2/ospf:body/ospf:opaque"
+ "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" { + "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" {
when "derived-from-or-self(../../../../../../../../../.." when "derived-from-or-self(../../../../../../../../../.."
+ "/../../../../rt:type, 'ospf:ospfv2')" { + "/../../../../rt:type, 'ospf:ospfv2')" {
description description
"This augmentation is only valid for OSPFv2."; "This augmentation is only valid for OSPFv2.";
} }
description description
"Prefix Administrative Tag sub-TLVs for OSPFv2 extended prefix "Prefix Administrative Tag Sub-TLVs for OSPFv2 extended prefix
TLV in type 9 opaque LSA."; TLV in type 9 opaque LSA.";
uses prefix-admin-tag-sub-tlv; uses prefix-admin-tag-sub-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:ospf/ospf:areas"
+ "/ospf:area/ospf:database" + "/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:ospfv2" + "/ospf:area-scope-lsa/ospf:version/ospf:ospfv2"
+ "/ospf:ospfv2/ospf:body/ospf:opaque" + "/ospf:ospfv2/ospf:body/ospf:opaque"
+ "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" { + "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" {
when "derived-from-or-self(../../../../../../../../../.." when "derived-from-or-self(../../../../../../../../../.."
+ "/../../rt:type, 'ospf:ospfv2')" { + "/../../rt:type, 'ospf:ospfv2')" {
description description
"This augmentation is only valid for OSPFv2."; "This augmentation is only valid for OSPFv2.";
} }
description description
"Prefix Administrative Tag sub-TLVs for OSPFv2 extended prefix "Prefix Administrative Tag Sub-TLVs for OSPFv2 extended prefix
TLV in type 10 opaque LSA."; TLV in type 10 opaque LSA.";
uses prefix-admin-tag-sub-tlv; uses prefix-admin-tag-sub-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:database" + "/ospf:ospf/ospf:database"
+ "/ospf:as-scope-lsa-type/ospf:as-scope-lsas" + "/ospf:as-scope-lsa-type/ospf:as-scope-lsas"
+ "/ospf:as-scope-lsa/ospf:version/ospf:ospfv2" + "/ospf:as-scope-lsa/ospf:version/ospf:ospfv2"
+ "/ospf:ospfv2/ospf:body/ospf:opaque" + "/ospf:ospfv2/ospf:body/ospf:opaque"
+ "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" { + "/ospf:extended-prefix-opaque/ospf:extended-prefix-tlv" {
when "derived-from-or-self(../../../../../../../.." when "derived-from-or-self(../../../../../../../.."
+ "/../../rt:type, 'ospf:ospfv2')" { + "/../../rt:type, 'ospf:ospfv2')" {
description description
"This augmentation is only valid for OSPFv2."; "This augmentation is only valid for OSPFv2.";
} }
description description
"Prefix Administrative Tag sub-TLVs for OSPFv2 extended prefix "Prefix Administrative Tag Sub-TLVs for OSPFv2 extended prefix
TLV in type 11 opaque LSA."; TLV in type 11 opaque LSA.";
uses prefix-admin-tag-sub-tlv; uses prefix-admin-tag-sub-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/ospfv3-e-lsa:e-inter-area-prefix" + "/ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix"
 End of changes. 11 change blocks. 
11 lines changed or deleted 11 lines changed or added

This html diff was produced by rfcdiff 1.48.