Underlay Path Calculation Algorithm and Constraints for Bit Index Explicit Replication (BIER)
updates
Extracted elements (15)
A BIER-specific constraint such as 'excluding BIER-incapable routers' can be defined as a BAR value with NULL BA, allowing the constraint to augment any IPA's routing constraints. If BC and RC conflict and result in an empty topology, no BIER forwarding path will be found, which is a network design issue operators must avoid.
BAR value 0 is defined as 'No BIER-specific algorithm is used', indicating NULL BA and BC. When BAR is 0, the IPA value alone identifies the calculation algorithm and constraints, making BIER path calculation fully congruent with the IGP unicast algorithm.
The general BAR/IPA interaction rules may have exceptions or extensions defined in the future for specific values. This extensibility mechanism ensures compatibility can be specified when new BAR and/or IPA semantics are added.
When a BAR value specifies a BIER-specific algorithm (e.g., Steiner tree), that algorithm takes precedence over the IPA's routing algorithm (e.g., SPF). This allows BIER to use multicast-optimized algorithms distinct from unicast SPF.
IGP Algorithm 0 defined in RFC 8665 is treated as having a NULL RC (no constraints) when used as a BIER IPA, meaning it contributes only its Routing Algorithm (SPF) with no additional routing constraints.
This document updates the definitions of the BAR and IPA fields in Section 6.1 of RFC 8401 (IS-IS BIER) and Section 2.1 of RFC 8444 (OSPFv2 BIER extensions) to support non-zero BAR and IPA values beyond the originally defined value of 0.
For a particular sub-domain, all BFRs MUST be provisioned with and signal the same BAR and IPA values. If a BFR discovers another BFR advertising a different BAR or IPA value for a sub-domain, it MUST treat the advertising router as incapable of supporting BIER for that sub-domain.
For a particular topology X associated with a sub-domain, a router MUST calculate underlay paths by: (1) applying BIER constraints to get BC(X), (2) applying routing constraints to get RC(BC(X)), (3) selecting algorithm AG (BA if non-NULL, else RA), and (4) running AG on RC(BC(X)).
If a specification is not available for a specific BAR value, its value MUST be from the Private or Experimental Use range of the BIER Algorithm registry.
If any of the BA, BC, RA, or RC semantics is not specified for a BAR or IPA value, it MUST be interpreted as the 'NULL' algorithm or constraint.
When a BAR value is defined, the corresponding BIER-specific Algorithm (BA) and BIER-specific Constraint (BC) semantics SHOULD be specified. For an IGP Algorithm used as a BIER IPA, its Routing Algorithm (RA) and Routing Constraint (RC) semantics SHOULD be specified.
The BAR (BIER Algorithm) field is one octet and specifies a BIER-specific Algorithm and BIER-specific Constraints used to modify, enhance, or replace underlay path calculation as defined by the IPA value. Values are allocated from the 'BIER Algorithm' registry.
The IPA (IGP Algorithm) field is one octet and specifies a generic Routing Algorithm and related Routing Constraints to calculate underlay paths to reach other Bit-Forwarding Routers (BFRs). Values are from the 'IGP Algorithm Types' registry.
The 'BIER Algorithm' registry (established in RFC 8401) is updated: (1) the 'Experimental Use' range is renamed to 'Private or Experimental Use', and (2) RFC 9272 is added as a reference for the registry and for values 240-254.
This document specifies general rules for BAR and IPA interaction for underlay path calculation and does not change the security aspects discussed in RFC 8279, RFC 8401, and RFC 8444. Implementers should refer to those documents for security considerations.