BIER BFD
Internet-Draft draft-ietf-bier-bfd-012
Quan Xiong
ZTE Corporation
No.6 Huashi Park Rd
Wuhan
Hubei
430223
China
+86 27 83531060
xiong.quan@zte.com.cn
Greg Mirsky
Ericsson
gregimirsky@gmail.com
Fangwei Hu
Individual
hufwei@gmail.com
Chang Liu
China Unicom
No.9 Shouti Nanlu
Beijing
100048
China
+86-010-68799999-7294
liuc131@chinaunicom.cn
2022
Route
BIER WG
BIER, BFD
Point to multipoint (P2MP) BFD is designed to verify multipoint connectivity. This document specifies the application of P2MP BFD in BIER network.
Introduction
Bit Index Explicit Replication (BIER) [RFC8279] provides the forwarding of multicast data packets through a multicast domain. It does so without requiring any explicit tree-building protocol and without requiring intermediate nodes to maintain any per-flow state.
[RFC8562] defines a method of using Bidirectional Forwarding Detection (BFD) to monitor and detect unicast failures between the sender (head) and one or more receivers (tails) in multipoint or multicast networks. [RFC8563] describes active tail extensions to the BFD protocol for multipoint networks.
This document describes the procedures for using such mode of BFD protocol to monitor connectivity between a multipoint sender, Bit-Forwarding Ingress Router (BFIR), and a set of one or more multipoint receivers, Bit-Forwarding Egress Routers (BFERs). The BIER BFD only supports the unidirectional multicast. This document defines the use of P2MP BFD as per [RFC8562], and active tail as per [RFC8563] for BIER-specific domain.
Conventions used in this document
Terminology
This document uses the acronyms defined in [RFC8279] along with the following:
BFD: Bidirectional Forwarding Detection.
OAM: Operations, Administration, and Maintenance.
P2MP: Point to Multi-Point.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
BIER BFD Encapsulation
BIER BFD encapsulation uses the BIER OAM packet format defined in [I-D.ietf-bier-ping]. The value of the Message Type field MUST be set to BIER BFD (TBD1 will be assigned by IANA Section 9.1). BFD Control packet, defined in Section 4 [RFC5880], immediately follows the BIER OAM header. The operation of Multipoint BFD with the BFD Control Packet is described in [RFC8562].
BIER BFD Session Bootstrapping
As defined in [RFC8562], a BIER BFD session MAY be established to monitor the state of the multipoint path. The BIER BFD session could be created for each multipoint path and the set of BFERs over which the BFIR is requested to run BIER BFD. The BFIR MUST advertise the multipoint path and the value of My Discriminator associated with the path to the set of BFERs. Bootstrapping a BIER BFD session MAY use BIER OAM message Section 4.1 or the control plane Section 4.2.
The BIER BFD bootstrapping MUST be repeated when the value of this discriminator being changed.
BIER OAM Bootstrapping
The BIER OAM could be used for bootstrapping the BIER BFD session. The BFIR sends the BIER OAM Echo request message carrying a BFD discriminator TLV which immediately follows the Target SI-Bitstring TLV (section 3.3.2 [I-D.ietf-bier-ping]).
The Target SI-Bitstring TLV MUST be used to carry the set of BFER information (including Sub-domain-id, Set ID, BS Len, Bitstring) for the purpose of the session establishment.
Figure 1 displays the format of BFD Discriminator TLV.
BFD Discriminator TLV

    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 = TBD2           |             Length            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        My Discriminator                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
- Type indicates BFD Discriminator TLV. The value (TBD2) is to be allocated by IANA (Section 9.2).
- Length MUST be set to 4.
- My Discriminator - four-octet long field. The value is the local discriminator generated by BFIR for this session. This discriminator MUST be used as the My Discriminator field n the BIER BFD Control packets sent by the BFIR.
IGP Protocol Bootstrapping
An alternative option to bootstrap the BIER BFD is to advertise the BFD information in the control plane. This document defines a new BIER BFD Sub-sub-TLV carried in IGP protocol including IS-IS and OSPF.
The BFIR generates the My Discriminator value for each multicast flow and advertises it to the expecting BFERs, which is indicated by the Bitstring and the BIFT-id, which is carried in BIER BFD sub-sub-TLV. The corresponding BFERs SHOULD store the My Discriminator value for packet Demultiplexing.
IS-IS Extension for BIER BFD
The new BIER BFD Sub-sub-TLV is carried within the BIER Info sub-TLV defined in [RFC8401]. The format is displayed in Figure 2.
BIER BFD Sub-sub-TLV for IS-IS Extension

     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 = TBD3  |     Length    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      My Discriminator                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     RESERVED          |            BIFT-id                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                 BitString  (first 32 bits)                    ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                                                               ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                 BitString  (last 32 bits)                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
- Type indicates BIER BFD sub-sub-TLV. The value (TBD3) is to be allocated by IANA (Section 9.3).
- Length is a two-octet field. The value is the length of the BIER BFD Sub-sub-TLV for IS-IS extension, in octets
- My Discriminator is a four-octet long field. The value is a unique, nonzero discriminator value generated by BFIR for each multipoint path. This discriminator MUST be used as the My Discriminator field n the BIER BFD Control packets sent by the BFIR.
- BIFT-id is a two-octet field. The value represents a particular Bit Index Forwarding Table (BIFT) as per [RFC8279].
- BitString field carries the set of BFR-IDs of BFER(s) that the BFIR expects to establish the BIER BFD session.
OSPF Extension for BIER BFD
The new BIER BFD Sub-TLV is a sub-TLV of the BIER Sub-TLV defined in [RFC8444]. The format is displayed in Figure 3.
BIER BFD Sub-sub-TLV for IS-IS Extension

     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 = TBD4             |             Length            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        My Discriminator                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     RESERVED          |            BIFT-id                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                 BitString  (first 32 bits)                    ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                                                               ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                 BitString  (last 32 bits)                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

		  Figure 3: BIER BFD Sub-TLV for OSPF extension

where:
- Type indicates BIER BFD sub-TLV. The value (TBD4) is to be allocated by IANA (Section 9.4).
- Length is a two-octet field. The value is the length of the BIER BFD sub-TLV for OSPF extension, in octets
- My Discriminator is a four-octet long field. The value is a unique, nonzero discriminator value generated by BFIR for each multipoint path. This discriminator MUST be used as the My Discriminator field n the BIER BFD Control packets sent by the BFIR.
- BIFT-id is a two-octet field. The value represents a particular Bit Index Forwarding Table (BIFT) as per [RFC8279].
- BitString field carries the set of BFR-IDs of BFER(s) that the BFIR expects to establish the BIER BFD session.
Discriminators and Packet Demultiplexing
As defined in [RFC8562], the BFIR sends BFD Control packets to the set of BFERs over the multipoint path via the BIER BFD session with My Discriminator is set to the value assigned by the BFIR, and the value of the Your Discriminator is set to zero. The set of BFERs MUST demultiplex BFD packets based on a combination of the source address, My Discriminator value. The source address is BFIR-id and BIER MPLS Label (MPLS network) or BFIR-id and BIFT-id (Non-MPLS network) for BIER BFD. My Discriminator value is advertised in BIER BFD bootstrapping using one of the options described in Section 4.
Active Tail in BIER BFD
[RFC8563] defined an extension for Multipoint BFD, which allows the head to discover the state of a multicast distribution tree for any sub-set of tails. For BIER BFD in the active tail mode, the BFIR may learn the state and connectivity of the BFERs by allowing the BFERs to notify the BFIR. As per [RFC8563] provides detailed information on how the BFIR can use multipoint Poll sequence message or a combination of multicast and unicast Poll sequence messages to determine the state of the multicast tree. Also, [RFC8563] describes that a BFER can transmit an unsolicited unicast Poll sequence message to the BFIR (note that a unicast message must be sent over a path which is disjoint from the multicast distribution tree).
Unsolicited Head Notification Mode
[I-D.ietf-mpls-p2mp-bfd] provides detailed information on using the unsolicited notification method for P2MP MPLS LSP, which is also applicable to BIER.
In Section 5.2.1 [RFC8563] is noted that "the tail sends unsolicited BFD packets in response to the detection of a multipoint path failure" but without the specifics on the information in the packet and frequency of transmissions. This document defines the procedure of the active tail with unsolicited notifications for BIER as specified below.
Upon detecting the failure, a BFER sends a BFD control packet with the following settings:
- the Poll (P) bit is set;
- the Status (Sta) field is set to Down value;
- the Diagnostic (Diag) field is set to Control Detection Time Expired value;
- the value of the Your Discriminator field is set to the value the BFER has been used to demultiplex that BFD multipoint session;
- BFD Control packet is encapsulated in IP/UDP with the destination IP address of the BFIR and the UDP destination port number set to 4784 per [RFC5883]
- the BFD Control packets are transmitted at the rate of one per second until either the BFER receives valid for this BFD session control packet with the Final (F) bit is set from the BFIR or the defect condition clears.
To improve the likelihood of notifying the BFIR of the failure, the BFER SHOULD transmit three BFD Control packets defined above in short succession.
A BFIR that has received the BFD Control packet, as described above, sends the unicast IP/UDP encapsulated BFD control packet with the Final (F) bit set to the BFER.
Security Considerations
For BIER OAM packet processing security considerations, see [I-D.ietf-bier-ping].
For general multipoint BFD security considerations, see [RFC8562].
No additional security issues are raised in this document beyond those that exist in the referenced BFD documents.
Acknowledgements
The authors would like to thank the comments and suggestions from Sandy Zhang, Jeffrey (Zhaohui) Zhang, Donald Eastlake 3rd.
IANA Considerations
BIER OAM Message Type
IANA is requested to assign a new type from the BIER OAM Message Type registry as follows:
Value | Description | Reference
TBD1 | BIER BFD | [this document]
BFD Discriminator TLV
IANA is requested to assign a new type from the BIER OAM TLV registry as follows:
Value | Description | Reference
TBD2 | BFD discriminator TLV | [this document]
BIER BFD Sub-sub-TLV
IANA is requested to assign a new BIER BFD Sub-sub-TLV within the BIER Info sub-TLV registry is defined in [RFC8401] as follows:
Value | Description | Reference
TBD3 | BIER BFD Sub-sub-TLV | [this document]
BIER BFD Sub-TLV
IANA is requested to assign a new BIER BFD Sub-TLV from the BIER Sub-TLV registry is defined in [RFC8444] as follows:
Value | Description | Reference
TBD4 | BIER BFD Sub-TLV | [this document]
References
Normative References
[RFC8279]
[RFC8562]
[RFC8563]
[RFC2119]
[RFC8174]
[I-D.ietf-bier-ping]
[RFC5880]
[RFC8401]
[RFC8444]
[I-D.ietf-mpls-p2mp-bfd]
[RFC5883]