Seamless Bidirectional Forwarding Detection (S-BFD) for Virtual Circuit Connectivity Verification (VCCV)
updates
- rfc-5885 — Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)
Extracted elements (22)
Advertisement of S-BFD target discriminators using LDP is left for further study. S-BFD can still be used with signaled MPLS PWs by provisioning discriminators or learning them via other means.
The new S-BFD CV Types are PW demultiplexer agnostic, making them applicable for both MPLS and L2TPv3 PW demultiplexers, unlike earlier BFD CV Types that were specific to a demultiplexer type.
This specification covers S-BFD asynchronous mode only; S-BFD Echo mode and fault detection with status signaling are explicitly out of scope. Only a single S-BFD Discriminator per PW is specified, with multi-discriminator use (e.g., per-Flow in FAT PWs) left as a future extension.
S-BFD and BFD CV Types are unique bit values, so BFD and S-BFD capabilities can be advertised concurrently without conflict in the VCCV capability negotiation.
For IP/UDP encapsulated S-BFD, the destination UDP port MUST be 7784 per RFC 7881, and the TTL (IPv4) or Hop Limit (IPv6) MUST be set to 255.
PW-ACH/L2SS encapsulation of S-BFD packets MUST be performed according to Section 3.2 of RFC 5885, with the exception of the value for the PW-ACH/L2SS type.
S-BFD target discriminators MAY be provisioned when static PWs are used.
The contents of S-BFD Control packets for IP/UDP encapsulation MUST be set according to Section 7.3.2 of RFC 7880.
The S-BFD initiator operation MUST be done as specified in Section 7.3 of RFC 7880.
The S-BFD initiator SHOULD bootstrap S-BFD sessions after it learns the discriminator of the remote target identifier, via PW signaling protocol advertisements, manual provisioning, controller assignment, or probing mechanisms.
The S-BFD reflector MUST use the AVP defined in RFC 7886 for advertising its target discriminators using L2TP.
The S-BFD reflector operation for BFD protocol fields MUST be performed as specified in RFC 7880.
When VCCV carries PW-ACH/L2SS-encapsulated S-BFD, the Channel Type of PW-ACH or L2SS MUST be set to 0x0008 to indicate 'S-BFD Control, PW-ACH/L2SS-encapsulated' (S-BFD without IP/UDP headers).
Demultiplexing of S-BFD is achieved using the PW context, following the procedures in Section 7.1 of RFC 7880.
S-BFD reflector reflects S-BFD packets back to the initiator using the VCCV channel of the reverse direction of the PW on which the packet was received, leveraging the PW context (e.g., L2TPv3 header fields) for reflection.
Two S-BFD CV Types are defined: 0x40 for S-BFD IP/UDP-encapsulated fault detection only, and 0x80 for S-BFD PW-ACH/L2SS-encapsulated (without IP/UDP headers) fault detection only. Both are PW demultiplexer agnostic and applicable for MPLS and L2TPv3 PWs.
When multiple S-BFD CV Types are in common, the preferred order is: 0x40 (IP/UDP-encapsulated) first, then 0x80 (PW-ACH/L2SS-encapsulated without IP/UDP headers), selecting the lowest-numbered type.
IANA assigned Channel Type value 0x0008 in the 'MPLS Generalized Associated Channel (G-ACh) Types' registry to indicate 'S-BFD Control, PW-ACH/L2SS encapsulation (without IP/UDP Headers)'.
IANA assigned two new L2TPv3 CV Types in the 'VCCV Capability AVP (Attribute Type 96) Values' registry: Bit 6 (0x40) for S-BFD IP/UDP-encapsulated and Bit 7 (0x80) for S-BFD L2SS-encapsulated PW Fault Detection.
IANA augmented the 'MPLS VCCV Connectivity Verification (CV) Types' registry with two new S-BFD bit values: Bit 6 (0x40) for S-BFD IP/UDP-encapsulated PW Fault Detection, and Bit 7 (0x80) for S-BFD PW-ACH-encapsulated PW Fault Detection.
The introduction of S-BFD CV Types does not present any new security risks for VCCV beyond those in RFC 5085 and RFC 7880. The IP/UDP encapsulation uses GTSM (RFC 5082) TTL/Hop Limit procedures as a security mechanism.
Capability selection between S-BFD and BFD is determined by the intersection of advertised CV Types. When both ends advertise both S-BFD and BFD, both protocols are selected. When only one protocol is advertised by both ends, that protocol is used. If there is no overlap, no CV Type is selected.