To allow advertisement of the application-specific values of the link attribute, a new Application-Specific Link Attributes (ASLA) sub-TLV is defined. The ASLA sub-TLV is a sub-TLV of the OSPFv2 Extended Link TLV [
RFC 7684] and OSPFv3 Router-Link TLV [
RFC 8362].
In addition to advertising the link attributes for standardized applications, link attributes can be advertised for the purpose of applications that are not standardized. We call such an application a "user-defined application" or "UDA". These applications are not subject to standardization and are outside of the scope of this specification.
The ASLA sub-TLV is an optional sub-TLV of the OSPFv2 Extended Link TLV and OSPFv3 Router-Link TLV. Multiple ASLA sub-TLVs can be present in a parent TLV when different applications want to control different link attributes or when a different value of the same attribute needs to be advertised by multiple applications. The ASLA sub-TLV
MUST be used for advertisement of the link attributes listed at the end of this section if these are advertised inside the OSPFv2 Extended Link TLV and OSPFv3 Router-Link TLV. It has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SABM Length | UDABM Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Standard Application Identifier Bit Mask |
+- -+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| User-Defined Application Identifier Bit Mask |
+- -+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Attribute sub-sub-TLVs |
+- -+
| ... |
where:
-
Type:
-
10 (OSPFv2), 11 (OSPFv3)
-
Length:
-
Variable
-
SABM Length:
-
Standard Application Identifier Bit Mask Length in octets. The value MUST be 0, 4, or 8. If the Standard Application Identifier Bit Mask is not present, the SABM Length MUST be set to 0.
-
UDABM Length:
-
User-Defined Application Identifier Bit Mask Length in octets. The value MUST be 0, 4, or 8. If the User-Defined Application Identifier Bit Mask is not present, the UDABM Length MUST be set to 0.
-
Standard Application Identifier Bit Mask:
-
Optional set of bits, where each bit represents a single standard application. Bits are defined in the "Link Attribute Applications" registry, which is defined in [RFC 8919]. Current assignments are repeated here for informational purposes:
0 1 2 3 4 5 6 7 ...
+-+-+-+-+-+-+-+-+...
|R|S|F| ...
+-+-+-+-+-+-+-+-+...
-
Bit 0 (R-bit):
-
RSVP-TE.
-
Bit 1 (S-bit):
-
Segment Routing Policy.
-
Bit 2 (F-bit):
-
Loop-Free Alternate (LFA). Includes all LFA types.
-
User-Defined Application Identifier Bit Mask:
-
Optional set of bits, where each bit represents a single user-defined application.
If the SABM or UDABM Length is other than 0, 4, or 8, the ASLA sub-TLV
MUST be ignored by the receiver.
Standard Application Identifier Bits are defined and sent starting with bit 0. Undefined bits that are transmitted
MUST be transmitted as 0 and
MUST be ignored on receipt. Bits that are not transmitted
MUST be treated as if they are set to 0 on receipt. Bits that are not supported by an implementation
MUST be ignored on receipt.
User-Defined Application Identifier Bits have no relationship to Standard Application Identifier Bits and are not managed by IANA or any other standards body. It is recommended that these bits be used starting with bit 0 so as to minimize the number of octets required to advertise all UDAs. Undefined bits that are transmitted
MUST be transmitted as 0 and
MUST be ignored on receipt. Bits that are not transmitted
MUST be treated as if they are set to 0 on receipt. Bits that are not supported by an implementation
MUST be ignored on receipt.
If the link attribute advertisement is intended to be only used by a specific set of applications, corresponding bit masks
MUST be present, and application-specific bit(s)
MUST be set for all applications that use the link attributes advertised in the ASLA sub-TLV.
Application Identifier Bit Masks apply to all link attributes that support application-specific values and are advertised in the ASLA sub-TLV.
The advantage of not making the Application Identifier Bit Masks part of the attribute advertisement itself is that the format of any previously defined link attributes can be kept and reused when advertising them in the ASLA sub-TLV.
If the same attribute is advertised in more than one ASLA sub-TLVs with the application listed in the Application Identifier Bit Masks, the application
SHOULD use the first instance of advertisement and ignore any subsequent advertisements of that attribute.
If link attributes are advertised with zero-length Application Identifier Bit Masks for both standard applications and user-defined applications, then any standard application and/or any user-defined application is permitted to use that set of link attributes. If support for a new application is introduced on any node in a network in the presence of such advertisements, these advertisements are permitted to be used by the new application. If this is not what is intended, then existing advertisements
MUST be readvertised with an explicit set of applications specified before a new application is introduced.
An application-specific advertisement (Application Identifier Bit Mask with a matching Application Identifier Bit set) for an attribute
MUST always be preferred over the advertisement of the same attribute with the zero-length Application Identifier Bit Masks for both standard applications and user-defined applications on the same link.
This document defines the initial set of link attributes that
MUST use the ASLA sub-TLV if advertised in the OSPFv2 Extended Link TLV or in the OSPFv3 Router-Link TLV. Documents that define new link attributes
MUST state whether the new attributes support application-specific values and, as such, are advertised in an ASLA sub-TLV. The standard link attributes that are advertised in ASLA sub-TLVs are: