rfc9792v2.txt   rfc9792.txt 
skipping to change at line 22 skipping to change at line 22
Prefix Flag Extension for OSPFv2 and OSPFv3 Prefix Flag Extension for OSPFv2 and OSPFv3
Abstract Abstract
Each OSPF prefix can be advertised with an 8-bit field to indicate Each OSPF prefix can be advertised with an 8-bit field to indicate
specific properties of that prefix. However, all the OSPFv3 Prefix specific properties of that prefix. However, all the OSPFv3 Prefix
Options bits have already been assigned, and only a few bits remain Options bits have already been assigned, and only a few bits remain
unassigned in the Flags field of the OSPFv2 Extended Prefix TLV. unassigned in the Flags field of the OSPFv2 Extended Prefix TLV.
This document solves this problem by defining a variable-length This document solves this problem by defining a variable-length
Prefix Attribute Flags sub-TLV for OSPF. This sub-TLV is applicable Prefix Extended Flags sub-TLV for OSPF. This sub-TLV is applicable
to OSPFv2 and OSPFv3. to OSPFv2 and OSPFv3.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
skipping to change at line 58 skipping to change at line 58
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction 1. Introduction
1.1. Requirements Language 1.1. Requirements Language
2. Variable-Length Prefix Attribute Flags Sub-TLV 2. Variable-Length Prefix Extended Flags Sub-TLV
3. Backward Compatibility 3. Backward Compatibility
4. IANA Considerations 4. IANA Considerations
4.1. OSPFv2 4.1. OSPFv2
4.1.1. OSPFv2 Prefix Attribute Flags Sub-TLV 4.1.1. OSPFv2 Prefix Extended Flags Sub-TLV
4.1.2. OSPFv2 Prefix Attribute Flags Registry 4.1.2. OSPFv2 Prefix Extended Flags Registry
4.2. OSPFv3 4.2. OSPFv3
4.2.1. OSPFv3 Prefix Attribute Flags Sub-TLV 4.2.1. OSPFv3 Prefix Extended Flags Sub-TLV
4.2.2. OSPFv3 Prefix Attribute Flags Registry 4.2.2. OSPFv3 Prefix Extended Flags Registry
5. Security Considerations 5. Security Considerations
6. References 6. References
6.1. Normative References 6.1. Normative References
6.2. Informative References 6.2. Informative References
Acknowledgements Acknowledgements
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
Each OSPF prefix can be advertised with an 8-bit field to indicate Each OSPF prefix can be advertised with an 8-bit field to indicate
specific properties of that prefix. This is done using the OSPFv3 specific properties of that prefix. This is done using the OSPFv3
Prefix Options (Appendix A.4.1.1 of [RFC5340]) and the Flags field in Prefix Options (Appendix A.4.1.1 of [RFC5340]) and the Flags field in
the OSPFv2 Extended Prefix TLV (Section 2.1 of [RFC7684]). The rest the OSPFv2 Extended Prefix TLV (Section 2.1 of [RFC7684]). The rest
of this document refers to these 8-bit fields in both OSPFv2 and of this document refers to these 8-bit fields in both OSPFv2 and
OSPFv3 as the "existing fixed-size prefix attribute flags". OSPFv3 as the "existing fixed-size prefix flags".
However, all the OSPFv3 Prefix Options bits have already been However, all the OSPFv3 Prefix Options bits have already been
assigned (see the "OSPFv3 Prefix Options (8 bits)" IANA registry assigned (see the "OSPFv3 Prefix Options (8 bits)" IANA registry
[IANA-OSPFv3-PO]). Also, at the time of publication of this [IANA-OSPFv3-PO]). Also, at the time of publication of this
document, only 5 bits remain unassigned in the Flags field of the document, only 5 bits remain unassigned in the Flags field of the
OSPFv2 Extended Prefix TLV (see the "OSPFv2 Extended Prefix TLV OSPFv2 Extended Prefix TLV (see the "OSPFv2 Extended Prefix TLV
Flags" IANA registry [IANA-OSPFv2-EPF]). Flags" IANA registry [IANA-OSPFv2-EPF]).
This document solves the problem of insufficient flag bits for the This document solves the problem of insufficient flag bits for the
signaling of prefix properties in OSPF by defining a variable-length signaling of prefix properties in OSPF by defining a variable-length
Prefix Attribute Flags sub-TLV for OSPFv2 and OSPFv3. Prefix Extended Flags sub-TLV for OSPFv2 and OSPFv3.
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. Variable-Length Prefix Attribute Flags Sub-TLV 2. Variable-Length Prefix Extended Flags Sub-TLV
This document defines a variable-length Prefix Attribute Flags sub- This document defines a variable-length Prefix Extended Flags sub-TLV
TLV for OSPFv2 and OSPFv3. The sub-TLV specifies the variable-length for OSPFv2 and OSPFv3. The sub-TLV specifies the variable-length
Prefix Attribute Flags field to advertise additional attributes Prefix Extended Flags field to advertise additional attributes
associated with OSPF prefixes. The advertisement and processing of associated with OSPF prefixes. The advertisement and processing of
the existing fixed-size prefix attribute flags remain unchanged. the existing fixed-size prefix flags remain unchanged.
The format of the OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV is The format of the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV is
shown in Figure 1. shown in Figure 1.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// Prefix Attribute Flags (Variable) // // Prefix Extended Flags (Variable) //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Format of OSPFv2/OSPFv3 Prefix Attribute Flags Sub-TLV Figure 1: Format of OSPFv2/OSPFv3 Prefix Extended Flags Sub-TLV
where: where:
Type (2 octets): 11 for OSPFv2 and 37 for OSPFv3 Type (2 octets): 11 for OSPFv2 and 37 for OSPFv3
Length (2 octets): Variable, dependent on the included Prefix Length (2 octets): Variable, dependent on the included Prefix
Attribute Flags field. This indicates the length of the Prefix Extended Flags field. This indicates the length of the Prefix
Attribute Flags field in octets. The length MUST be a multiple of Extended Flags field in octets. The length MUST be a multiple of
4 octets. If the length is not a multiple of 4 octets, the Link 4 octets. If the length is not a multiple of 4 octets, the Link
State Advertisement (LSA) is malformed and MUST be ignored. State Advertisement (LSA) is malformed and MUST be ignored.
Prefix Attribute Flags (Variable): The extended flag field. This Prefix Extended Flags (Variable): The extended flag field. This
field contains a variable number of flags, grouped in 4-octet field contains a variable number of flags, grouped in 4-octet
blocks. The bits are numbered starting from bit 0 as the most blocks. The bits are numbered starting from bit 0 as the most
significant bit of the first 32-bit block. If the length of the significant bit of the first 32-bit block. If the length of the
Prefix Attribute Flags field exceeds 4 octets, numbering for the Prefix Extended Flags field exceeds 4 octets, numbering for the
additional bits picks up where the previous 4-octet block left additional bits picks up where the previous 4-octet block left
off. For example, the most significant bit in the fifth octet of off. For example, the most significant bit in the fifth octet of
an 8-octet Prefix Attribute Flags field is referred to as bit 32. an 8-octet Prefix Extended Flags field is referred to as bit 32.
Currently, no bits are defined in this document. Currently, no bits are defined in this document.
Unassigned bits MUST be set to zero on transmission and MUST be Unassigned bits MUST be set to zero on transmission and MUST be
ignored on receipt. ignored on receipt.
An implementation MUST limit the length of the sub-TLV so as to An implementation MUST limit the length of the sub-TLV so as to
signal the bits that are set to 1. Defined prefix flags that are not signal the bits that are set to 1. Defined prefix flags that are not
transmitted due to being beyond the transmitted length MUST be transmitted due to being beyond the transmitted length MUST be
treated as being set to 0. treated as being set to 0.
The OSPFv2 Prefix Attribute Flags sub-TLV is advertised as a sub-TLV The OSPFv2 Prefix Extended Flags sub-TLV is advertised as a sub-TLV
of the OSPFv2 Extended Prefix TLV defined in [RFC7684]. Additional of the OSPFv2 Extended Prefix TLV defined in [RFC7684]. Additional
OSPFv2 prefix flags SHOULD be allocated from the unused bits in the OSPFv2 prefix flags SHOULD be allocated from the unused bits in the
Flags field of the OSPFv2 Extended Prefix TLV prior to allocating Flags field of the OSPFv2 Extended Prefix TLV prior to allocating
flags in the OSPFv2 Prefix Attribute Flags sub-TLV. flags in the OSPFv2 Prefix Extended Flags sub-TLV.
The OSPFv3 Prefix Attribute Flags sub-TLV is advertised as a sub-TLV The OSPFv3 Prefix Extended Flags sub-TLV is advertised as a sub-TLV
of the following OSPFv3 TLVs: of the following OSPFv3 TLVs:
* Inter-Area-Prefix TLV (Section 3.4 of [RFC8362]) * Inter-Area-Prefix TLV (Section 3.4 of [RFC8362])
* External-Prefix TLV (Section 3.6 of [RFC8362]) * External-Prefix TLV (Section 3.6 of [RFC8362])
* Intra-Area-Prefix TLV (Section 3.7 of [RFC8362]) * Intra-Area-Prefix TLV (Section 3.7 of [RFC8362])
* SRv6 Locator TLV [RFC9513] * SRv6 Locator TLV [RFC9513]
When multiple instances of the OSPFv2/OSPFv3 Prefix Attribute Flags When multiple instances of the OSPFv2/OSPFv3 Prefix Extended Flags
sub-TLVs are received within the same TLV, an implementation MUST use sub-TLVs are received within the same TLV, an implementation MUST use
only the first occurrence of the sub-TLV and MUST ignore all only the first occurrence of the sub-TLV and MUST ignore all
subsequent instances of the sub-TLV. Errors SHOULD be logged subject subsequent instances of the sub-TLV. Errors SHOULD be logged subject
to rate limiting. to rate limiting.
3. Backward Compatibility 3. Backward Compatibility
The OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV does not introduce The OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV does not introduce
any backward compatibility issues. An implementation that does not any backward compatibility issues. An implementation that does not
recognize the OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV would recognize the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV would
ignore the sub-TLV as per normal TLV processing operations (refer to ignore the sub-TLV as per normal TLV processing operations (refer to
Section 2.3.2 of [RFC3630] and Section 6.3 of [RFC8362]). Section 2.3.2 of [RFC3630] and Section 6.3 of [RFC8362]).
4. IANA Considerations 4. IANA Considerations
4.1. OSPFv2 4.1. OSPFv2
4.1.1. OSPFv2 Prefix Attribute Flags Sub-TLV 4.1.1. OSPFv2 Prefix Extended Flags Sub-TLV
IANA has allocated the following codepoint in the "OSPFv2 Extended IANA has allocated the following codepoint in the "OSPFv2 Extended
Prefix TLV Sub-TLVs" registry: Prefix TLV Sub-TLVs" registry:
+=======+===============================+===========+ +=======+==============================+===========+
| Value | Description | Reference | | Value | Description | Reference |
+=======+===============================+===========+ +=======+==============================+===========+
| 11 | OSPFv2 Prefix Attribute Flags | RFC 9792 | | 11 | OSPFv2 Prefix Extended Flags | RFC 9792 |
+-------+-------------------------------+-----------+ +-------+------------------------------+-----------+
Table 1 Table 1
4.1.2. OSPFv2 Prefix Attribute Flags Registry 4.1.2. OSPFv2 Prefix Extended Flags Registry
IANA has created the "OSPFv2 Prefix Attribute Flags" registry within IANA has created the "OSPFv2 Prefix Extended Flags" registry within
the "Open Shortest Path First v2 (OSPFv2) Parameters" registry group. the "Open Shortest Path First v2 (OSPFv2) Parameters" registry group.
The registry defines the bits in the Prefix Attribute Flags field in The registry defines the bits in the Prefix Extended Flags field in
the OSPFv2 Prefix Attribute Flags sub-TLV as specified in Section 2. the OSPFv2 Prefix Extended Flags sub-TLV as specified in Section 2.
The bits are to be allocated via IETF Review [RFC8126]. Each bit The bits are to be allocated via IETF Review [RFC8126]. Each bit
definition will include: definition will include:
* Bit number (counting from bit 0 as the most significant bit of the * Bit number (counting from bit 0 as the most significant bit of the
first block) first block)
* Description * Description
* Reference * Reference
No bits are currently defined. Bits 0-31 are to be initially marked No bits are currently defined. Bits 0-31 are to be initially marked
as "Unassigned". The flags defined in this document may use either a as "Unassigned". The flags defined in this document may use either a
single bit or multiple bits to represent a state, as determined by single bit or multiple bits to represent a state, as determined by
the specific requirements of the document defining them. IANA will the specific requirements of the document defining them. IANA will
add subsequent blocks of 32 bits upon exhaustion of the preceding add subsequent blocks of 32 bits upon exhaustion of the preceding
32-bit block. 32-bit block.
4.2. OSPFv3 4.2. OSPFv3
4.2.1. OSPFv3 Prefix Attribute Flags Sub-TLV 4.2.1. OSPFv3 Prefix Extended Flags Sub-TLV
IANA has allocated the following codepoint in the "OSPFv3 Extended- IANA has allocated the following codepoint in the "OSPFv3 Extended-
LSA Sub-TLVs" registry: LSA Sub-TLVs" registry:
+=======+===============================+===========+ +=======+==============================+======+===========+
| Value | Description | Reference | | Value | Description | L2BM | Reference |
+=======+===============================+===========+ +=======+==============================+======+===========+
| 37 | OSPFv3 Prefix Attribute Flags | RFC 9792 | | 37 | OSPFv3 Prefix Extended Flags | X | RFC 9792 |
+-------+-------------------------------+-----------+ +-------+------------------------------+------+-----------+
Table 2 Table 2
The entry in the "L2BM" field is "X". 4.2.2. OSPFv3 Prefix Extended Flags Registry
4.2.2. OSPFv3 Prefix Attribute Flags Registry
IANA has created the "OSPFv3 Prefix Attribute Flags" registry within IANA has created the "OSPFv3 Prefix Extended Flags" registry within
the "Open Shortest Path First v3 (OSPFv3) Parameters" registry group. the "Open Shortest Path First v3 (OSPFv3) Parameters" registry group.
The registry defines the bits in the Prefix Attribute Flags field in The registry defines the bits in the Prefix Extended Flags field in
the OSPFv2 Prefix Attribute Flags sub-TLV as specified in Section 2. the OSPFv2 Prefix Extended Flags sub-TLV as specified in Section 2.
The bits are to be allocated via IETF Review [RFC8126]. Each bit The bits are to be allocated via IETF Review [RFC8126]. Each bit
definition will include: definition will include:
* Bit number (counting from bit 0 as the most significant bit of the * Bit number (counting from bit 0 as the most significant bit of the
first block) first block)
* Description * Description
* Reference * Reference
 End of changes. 33 change blocks. 
50 lines changed or deleted 48 lines changed or added

This html diff was produced by rfcdiff 1.48.