Skip to main content

4. Supporting UPA in OSPF

This section preserves the RFC text for Unreachable Prefix Announcement (UPA), including IS-IS and OSPF signaling, U-Flag and UP-Flag semantics, propagation rules, IANA assignments, and security considerations.

4.  Supporting UPA in OSPF

Appendix B of [RFC2328] defines the following architectural constant
for OSPFv2:

| LSInfinity
| The metric value indicating that the destination described by
| an LSA is unreachable. Used in summary-LSAs and AS-external-
| LSAs as an alternative to premature aging (see Section 14.1).
| It is defined to be the 24-bit binary value of all ones:
| 0xffffff.

Appendix B of [RFC5340] states:

| Architectural constants for the OSPF protocol are defined in
| Appendix B of [OSPFV2].

indicating that these same constants are applicable to OSPFv3.

[RFC2328], Section 14.1 also describes the usage of LSInfinity as a
way to indicate loss of prefix reachability:

| Premature aging can also be used when, for example, one of the
| router's previously advertised external routes is no longer
| reachable. In this circumstance, the router can flush its AS-
| external-LSA from the routing domain via premature aging. This
| procedure is preferable to the alternative, which is to originate
| a new LSA for the destination specifying a metric of LSInfinity.

In addition, the NU-bit is defined for OSPFv3 [RFC5340]. Prefixes
having the NU-bit set in their PrefixOptions field are not included
in the routing calculation.

UPA in OSPFv2 is supported for prefix reachability advertised via
OSPFv2 Summary-LSA [RFC2328], AS-external-LSAs [RFC2328], Not-So-
Stubby Area (NSSA) AS-external-LSA [RFC3101], and OSPFv2 IP Algorithm
Prefix Reachability Sub-TLV [RFC9502].

UPA in OSPFv3 is supported for prefix reachability advertised via
OSPFv3 E-Inter-Area-Prefix-LSA [RFC8362], E-AS-External-LSA
[RFC8362], E-Type-7-LSA [RFC8362], and SRv6 Locator LSA [RFC9513].

For prefix reachability advertised via Inter-Area-Prefix-LSA
[RFC5340], AS-External-LSA [RFC5340], NSSA-LSA [RFC5340], UPA is
signaled using their corresponding extended LSAs. This requires
support of the OSPFv3 Extended LSAs in a sparse mode as specified in
Section 6.2 of [RFC8362].

4.1. Advertisement of UPA in OSPF

If an ABR or ASBR advertises UPA in an advertisement of an inter-area
or external prefix inside OSPFv2 or OSPFv3, then it MUST set the age
to a value lower than MaxAge and set the metric to LSInfinity.

UPA flooding inside the area follows the existing standard procedures
defined by OSPFv2 [RFC2328] and OSPFv3 [RFC5340].

4.2. Signaling UPA in OSPF

A prefix can be advertised (in OSPFv2) with the LSInfinity metric or
(in OSPFv3) with the NU-bit set in PrefixOptions, for various
reasons. While OSPFv2 and OSPFv3 specify the treatment of the
LSInfinity metric and the NU-bit, explicit signaling is required to
distinguish UPA from other scenarios using the LSInfinity metric or
NU-bit.

OSPFv2 and OSPFv3 Prefix Extended Flags Sub-TLVs been defined in
[RFC9792] for advertising additional prefix attribute flags in OSPFv2
and OSPFv3.

Two new bits in the Prefix Attribute Flags Sub-TLV are defined:

U-Flag: Unreachable Prefix Flag (bit 0). When set, it indicates
that the prefix is unreachable.

UP-Flag: Unreachable Planned Prefix Flag (bit 1). When set, this
flag indicates that the prefix is unreachable due to a planned
event (e.g., planned maintenance).

The originating node MUST NOT set the UP-flag without setting the
U-flag.

The receiving node MUST ignore the UP-flag in the advertisement if
the U-flag is not set.

4.2.1. Signaling UPA in OSPFv2

The OSPFv2 Prefix Extended Flags Sub-TLV [RFC9792] is a sub-TLV of
the OSPFv2 Extended Prefix TLV [RFC7684].

The prefix that is advertised with U-Flag or UP-Flag MUST have the
metric set to a value LSInfinity. If the prefix metric is not equal
to LSInfinity, both of these flags MUST be ignored. Therefore, for
the prefixes in default algorithm 0 that are advertised with U-Flag,
or Up-Flag, it is REQUIRED to advertise the unreachable prefix in the
base OSPFv2 LSA, e.g., e.g., OSPFv2 Summary-LSA [RFC2328], or AS-
external-LSAs [RFC2328], or NSSA AS-external LSA [RFC3101].

4.2.2. Signaling UPA in OSPFv3

OSPFv3 Prefix Extended Flags Sub-TLV is defined as a sub-TLV of the
following OSPFv3 TLVs that are defined in [RFC8362]:

* Intra-Area-Prefix TLV

* Inter-Area-Prefix TLV

* External-Prefix TLV

The prefix that is advertised with U-Flag or UP-flag MUST have the
metric set to a value LSInfinity. For default algorithm 0 prefixes,
the LSInfinity MUST be set in the parent TLV. For IP Algorithm
Prefixes [RFC9502], the LSInfinity MUST be set in OSPFv3 IP Algorithm
Prefix Reachability sub-TLV. If the prefix metric is not equal to
LSInfinity, both of these flags MUST be ignored.

The prefix that is advertised with U-Flag or UP-Flag MUST have the
NU-bit set in the PrefixOptions of the parent TLV. If the NU-bit in
PrefixOptions of the parent TLV is not set, both of these flags MUST
be ignored.

4.3. Propagation of UPA in OSPF

OSPF ABRs, which would be responsible for propagating UPA
advertisements into other areas, need to recognize such
advertisements. Failure to do so would prevent UPA from reaching the
routers in the remote areas.

Advertising prefix reachability between OSPF areas assumes prefix
reachability in a source area. Such a requirement of reachability
MUST NOT be applied for UPAs, as they are propagating unreachability.

OSPF ABRs or ASBRs MAY advertise received UPAs between connected
areas or domains. When doing so, the original LSInfinity metric
value in UPA MUST be preserved. The cost to reach the originator of
the received UPA MUST NOT be considered when readvertising the UPA to
connected areas.