RFC 7885
Seamless Bidirectional Forwarding Detection (S-BFD) for Virtual Circuit Connectivity Verification (VCCV)
RFC 7885: Seamless BFD for VCCV β¨
Okay bestie, let's get into it π This is RFC 7885, titled "Seamless Bidirectional Forwarding Detection (S-BFD) for Virtual Circuit Connectivity Verification (VCCV)." It was written by V. Govindan and C. Pignataro, both from Cisco π It's a Standards Track doc, dated July 2016, with ISSN 2070-1721, and it updates RFC 5885 π¦ (sequel energy, no cap π).
Abstract πΈ
So this doc takes BFD for VCCV from RFC 5885 and glows it up into S-BFD for VCCV π It does that by extending the procedures and the CV Types RFC 5885 already defined. It also updates RFC 5885 by extending the CV Type values and the capability selection π₯
Status of This Memo π
This is an Internet Standards Track doc π It's a product of the IETF, so it represents the consensus of the IETF community. It got public review and was approved for publication by the IESG π If you want more on Internet Standards, check Section 2 of RFC 7841 π§ Info about the current status, any errata, and how to give feedback lives at http://www.rfc-editor.org/info/rfc7885 π
Copyright Notice π
Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved β¨
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they're provided without warranty as described in the Simplified BSD License π
Table of Contents πΊοΈ
1. Background ......................................................3
2. S-BFD Connectivity Verification .................................3
2.1. Co-existence of S-BFD and BFD Capabilities .................4
2.2. S-BFD CV Operation .........................................4
2.2.1. S-BFD Initiator Operation ...........................4
2.2.2. S-BFD Reflector Operation ...........................5
2.2.2.1. Demultiplexing .............................5
2.2.2.2. Transmission of Control Packets ............5
2.2.2.3. Advertisement of Target
Discriminators Using LDP ...................5
2.2.2.4. Advertisement of Target
Discriminators Using L2TP ..................6
2.2.2.5. Provisioning of Target Discriminators ......6
2.3. S-BFD Encapsulation ........................................6
3. Capability Selection ............................................7
4. Security Considerations .........................................7
5. IANA Considerations .............................................8
5.1. MPLS CV Types for the VCCV Interface Parameters Sub-TLV ....8
5.2. L2TPv3 CV Types for the VCCV Capability AVP ................8
5.3. PW Associated Channel Type .................................9
6. References ......................................................9
6.1. Normative References .......................................9
6.2. Informative References ....................................10
Acknowledgements ..................................................11
Contributors ......................................................11
Authors' Addresses ................................................11
1. Background π§
BFD for VCCV [RFC5885] defines the CV Types for BFD using VCCV, the protocol operation, and the required packet encapsulation formats. This doc extends those procedures and CV Type values so that Seamless BFD (S-BFD) [RFC7880] can work for VCCV π¦
The new S-BFD CV Types are Pseudowire (PW) demultiplexer agnostic, which means they apply to both MPLS and Layer Two Tunneling Protocol version 3 (L2TPv3) PW demultiplexers πΈ This doc is all about S-BFD VCCV operation over Single-Segment PWs (SS-PWs). Here's the scope:
- This specification describes procedures for S-BFD asynchronous mode only.
- S-BFD Echo mode is outside the scope of this specification.
- S-BFD operation for fault detection and status signaling is outside the scope of this specification.
This document specifies the use of a single S-BFD Discriminator per PW. There are cases where multiple S-BFD Discriminators per PW can be useful π One example is using different S-BFD Discriminators per Flow within a Flow-Aware Transport (FAT) PW [RFC6391]. The catch is that the mapping between Flows and discriminators is a prerequisite. FAT PWs can be supported as described in Section 7 of [RFC6391], which covers Operations, Administration, and Maintenance (OAM) considerations for FAT PWs π
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 [RFC2119] π
2. S-BFD Connectivity Verification π«
The S-BFD protocol gives you continuity check services by monitoring the S-BFD Control packets sent and received over the VCCV channel of the PW. The term "Connectivity Verification" (CV) is used throughout this document to stay consistent with [RFC5885] π«Ά
This section defines the CV Types for S-BFD. It also defines the procedures for the S-BFD reflector and S-BFD initiator operation π₯
Two CV Types are defined for S-BFD. Table 1 sums them up, grouped by encapsulation (with IP/UDP headers or without them), for fault detection only. S-BFD for fault detection and status signaling is outside the scope of this specification π
+-----------------------------------------+-----------+-------------+
| | Fault | Fault |
| | Detection | Detection |
| | Only | and Status |
| | | Signaling |
+-----------------------------------------+-----------+-------------+
| S-BFD IP/UDP encapsulation (with IP/UDP | 0x40 | N/A |
| headers) | | |
| | | |
| S-BFD PW-ACH encapsulation when using | 0x80 | N/A |
| MPLS PW or S-BFD L2-Specific Sublayer | | |
| (L2SS) encapsulation when using L2TP PW | | |
| (without IP/UDP headers) | | |
+-----------------------------------------+-----------+-------------+
Table 1: Bitmask Values for S-BFD CV Types
IANA has assigned two new bits to indicate S-BFD operation π
2.1. Co-existence of S-BFD and BFD Capabilities π€
Since the CV Types for S-BFD and BFD are unique, BFD and S-BFD capabilities can be advertised at the same time π¦
2.2. S-BFD CV Operation βοΈ
2.2.1. S-BFD Initiator Operation π
The S-BFD initiator SHOULD bootstrap S-BFD sessions after it learns the discriminator of the remote target identifier. There are a few ways to get there, for example (this list is not exhaustive, so there could be more π):
- Advertisements of S-BFD Discriminators made through a PW signaling protocol, like AVPs/TLVs defined in L2TP/LDP.
- Provisioning of S-BFD Discriminators by manual configuration of the Provider Edge (PE) or L2TP Control Connection Endpoints (LCCEs).
- Assignment of S-BFD Discriminators by a controller.
- Probing remote S-BFD Discriminators through a mechanism such as S-BFD Alert Discriminators [SBFD-ALERT-DISCRIM].
The S-BFD initiator operation MUST be done as specified in Section 7.3 of [RFC7880] π
2.2.2. S-BFD Reflector Operation πͺ
When a PW signaling protocol such as LDP or L2TPv3 is in use, the S-BFD reflector can advertise its target discriminators using that signaling protocol. When static PWs are in use, the target discriminator of S-BFD needs to be provisioned on the S-BFD initiator nodes π§
All point-to-point PWs are bidirectional, so the S-BFD reflector reflects the S-BFD packet back to the initiator using the VCCV channel of the reverse direction of the PW on which it was received π
The reflector has enough information to reflect the S-BFD Async packet it received back to the S-BFD initiator, using the PW context (for example, fields of the L2TPv3 headers) β¨
The S-BFD reflector operation for BFD protocol fields MUST be performed as specified in [RFC7880] π«Ά
2.2.2.1. Demultiplexing π
Demultiplexing of S-BFD is achieved using the PW context, following the procedures in Section 7.1 of [RFC7880] π
2.2.2.2. Transmission of Control Packets π€
S-BFD reflector procedures as described in [RFC7880] apply for S-BFD using VCCV πΈ
2.2.2.3. Advertisement of Target Discriminators Using LDP π°οΈ
The advertisement of the target discriminator using LDP is left for further study π It should be noted that S-BFD can still be used with signaled PWs over an MPLS Packet Switched Network (PSN). You can do that by provisioning the S-BFD Discriminators, or by learning them some other way π
2.2.2.4. Advertisement of Target Discriminators Using L2TP π‘
The S-BFD reflector MUST use the AVP defined in [RFC7886] for advertising its target discriminators using L2TP π
2.2.2.5. Provisioning of Target Discriminators π οΈ
S-BFD target discriminators MAY be provisioned when static PWs are used π
2.3. S-BFD Encapsulation π¦
Unless specified differently below, the encapsulation of S-BFD packets is identical to the method in Section 3.2 of [RFC5885] and in [RFC5880] for encapsulating BFD packets π
- IP/UDP BFD encapsulation (BFD with IP/UDP headers):
- PW-ACH/L2SS BFD encapsulation (BFD without IP/UDP headers):
- The encapsulation of S-BFD packets using this format MUST be performed according to Section 3.2 of [RFC5885], with the exception of the value for the PW-ACH/L2SS type π¦
- When VCCV carries PW-ACH/L2SS-encapsulated S-BFD (i.e., "raw" S-BFD), the Channel Type of PW-ACH (the PW Control Word (CW)) or L2SS MUST be set to
0x0008to indicate "S-BFD Control, PW-ACH/L2SS-encapsulated" (i.e., S-BFD without IP/UDP headers; see Section 5.3). This is done so the encapsulated S-BFD payload can be identified when the VCCV control channel is demultiplexed π§
3. Capability Selection β¨
okay so bestie, this is where the two ends of the PW pick a CV Type together π When multiple S-BFD CV Types are advertised, and after applying the rules in [RFC5885], they figure out which set both ends of the PW have in common π¦ If they share more than one S-BFD CV Type, they check the list below in order, from the lowest list number to the highest, and the CV Type with the lowest list number wins π
0x40- S-BFD IP/UDP-encapsulated, for PW Fault Detection only.0x80- S-BFD PW-ACH/L2SS-encapsulated (without IP/UDP headers), for PW Fault Detection only.
the order for picking between S-BFD and BFD is next π it's a whole matrix, and honestly it's giving organized π
+---------------------------+---------+-----------+-----------------+
| Advertised capabilities | BFD | S-BFD | Both S-BFD and |
| of PE1/PE2 | Only | Only | BFD |
+---------------------------+---------+-----------+-----------------+
| BFD Only | BFD | None | BFD Only |
| | | | |
| S-BFD Only | None | S-BFD | S-BFD Only |
| | | | |
| Both S-BFD and BFD | BFD | S-BFD | Both S-BFD and |
| | Only | Only | BFD |
+---------------------------+---------+-----------+-----------------+
Table 2: Capability Selection Matrix for BFD and S-BFD πΈ
4. Security Considerations π₯
okay this section is SERIOUS bestie, so grab your snack and pay attention π Security considerations for VCCV are addressed in Section 10 of [RFC5085]. The introduction of the S-BFD CV Types does not present any new security risks for VCCV. Implementations of the additional CV Types defined here are subject to the same security considerations as the ones in [RFC5085] as well as [RFC7880].
The IP/UDP encapsulation of S-BFD makes use of the TTL / Hop Limit procedures described in the Generalized TTL Security Mechanism (GTSM) specification [RFC5082] as a security mechanism. π‘οΈ
ngl that's the big one: this spec doesn't raise any additional security issues beyond these π«Ά
5. IANA Considerations π
5.1. MPLS CV Types for the VCCV Interface Parameters Sub-TLV π¦
the VCCV Interface Parameters Sub-TLV codepoint is defined in [RFC4446], and the "MPLS VCCV Connectivity Verification (CV) Types" registry is defined in [RFC5085] β¨ This section lists the new S-BFD CV Types.
IANA has augmented the "MPLS VCCV Connectivity Verification (CV) Types" registry in the "Pseudowire Name Spaces (PWE3)" registry [IANA-PWE3]. These are bitfield values, and the CV Type values are specified in Section 2 of this document. slay π
MPLS VCCV Connectivity Verification (CV) Types:
Bit (Value) Description Reference
=========== =========== ==============
6 (0x40) S-BFD IP/UDP-encapsulated, RFC 7885
for PW Fault Detection only
7 (0x80) S-BFD PW-ACH-encapsulated, RFC 7885
for PW Fault Detection only
5.2. L2TPv3 CV Types for the VCCV Capability AVP π
this part adds new S-BFD "L2TPv3 Connectivity Verification (CV) Types" to the existing "VCCV Capability AVP (Attribute Type 96) Values" registry, which lives in the "Layer Two Tunneling Protocol 'L2TP'" registry [IANA-L2TP]. IANA assigned the following L2TPv3 Connectivity Verification (CV) Types in the "VCCV Capability AVP (Attribute Type 96) Values" registry, and it's so clean π§
VCCV Capability AVP (Attribute Type 96) Values
----------------------------------------------
L2TPv3 Connectivity Verification (CV) Types:
Bit (Value) Description Reference
=========== =========== ==============
6 (0x40) S-BFD IP/UDP-encapsulated, RFC 7885
for PW Fault Detection only
7 (0x80) S-BFD L2SS-encapsulated, RFC 7885
for PW Fault Detection only
5.3. PW Associated Channel Type π
as per the IANA considerations in [RFC5586], IANA allocated a Channel Type in the "MPLS Generalized Associated Channel (G-ACh) Types (including Pseudowire Associated Channel Types)" registry [IANA-G-ACh] π IANA also assigned a new Pseudowire Associated Channel Type value, and it looks like this:
Value Description Reference
------ ---------------------------------- ---------------
0x0008 S-BFD Control, PW-ACH/L2SS RFC 7885
encapsulation
(without IP/UDP Headers)
6. References π
6.1. Normative References π
these are the must-reads, so save them to your bookmarks bestie π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge
Emulation (PWE3)", BCP 116, RFC 4446,
DOI 10.17487/RFC4446, April 2006,
<http://www.rfc-editor.org/info/rfc4446>.
[RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C.
Pignataro, "The Generalized TTL Security Mechanism
(GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007,
<http://www.rfc-editor.org/info/rfc5082>.
[RFC5085] Nadeau, T., Ed., and C. Pignataro, Ed., "Pseudowire
Virtual Circuit Connectivity Verification (VCCV): A
Control Channel for Pseudowires", RFC 5085,
DOI 10.17487/RFC5085, December 2007,
<http://www.rfc-editor.org/info/rfc5085>.
[RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
"MPLS Generic Associated Channel", RFC 5586,
DOI 10.17487/RFC5586, June 2009,
<http://www.rfc-editor.org/info/rfc5586>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<http://www.rfc-editor.org/info/rfc5880>.
[RFC5885] Nadeau, T., Ed., and C. Pignataro, Ed., "Bidirectional
Forwarding Detection (BFD) for the Pseudowire Virtual
Circuit Connectivity Verification (VCCV)", RFC 5885,
DOI 10.17487/RFC5885, June 2010,
<http://www.rfc-editor.org/info/rfc5885>.
[RFC7880] Pignataro, C., Ward, D., Akiya, N., Bhatia, M., and S.
Pallagatti, "Seamless Bidirectional Forwarding Detection
(S-BFD)", RFC 7880, DOI 10.17487/RFC7880, July 2016,
<http://www.rfc-editor.org/info/rfc7880>.
[RFC7881] Pignataro, C., Ward, D., and N. Akiya, "Seamless
Bidirectional Forwarding Detection (S-BFD) for IPv4, IPv6,
and MPLS", RFC 7881, DOI 10.17487/RFC7881, July 2016,
<http://www.rfc-editor.org/info/rfc7881>.
[RFC7886] Govindan, V. and C. Pignataro, "Advertising Seamless
Bidirectional Forwarding Detection (S-BFD) Discriminators
in the Layer Two Tunneling Protocol Version 3 (L2TPv3)",
RFC 7886, DOI 10.17487/RFC7886, July 2016,
<http://www.rfc-editor.org/info/rfc7886>.
6.2. Informative References π¦
these ones are good background reading, not required, but I'm obsessed with them π
[IANA-G-ACh]
Internet Assigned Numbers Authority, "MPLS Generalized
Associated Channel (G-ACh) Types (including Pseudowire
Associated Channel Types)",
<http://www.iana.org/assignments/g-ach-parameters>.
[IANA-L2TP]
Internet Assigned Numbers Authority, "Layer Two Tunneling
Protocol 'L2TP'",
<http://www.iana.org/assignments/l2tp-parameters>.
[IANA-PWE3]
Internet Assigned Numbers Authority, "Pseudowire Name
Spaces (PWE3)",
<http://www.iana.org/assignments/pwe3-parameters>.
[RFC6391] Bryant, S., Ed., Filsfils, C., Drafz, U., Kompella, V.,
Regan, J., and S. Amante, "Flow-Aware Transport of
Pseudowires over an MPLS Packet Switched Network",
RFC 6391, DOI 10.17487/RFC6391, November 2011,
<http://www.rfc-editor.org/info/rfc6391>.
[SBFD-ALERT-DISCRIM]
Akiya, N., Pignataro, C., and D. Ward, "Seamless
Bidirectional Forwarding Detection (S-BFD) Alert
Discriminator", Work in Progress,
draft-akiya-bfd-seamless-alert-discrim-03, October 2014.
Acknowledgements π
the authors want to thank Nobo Akiya, Stewart Bryant, Greg Mirsky, Pawel Sowinski, Yuanlong Jiang, Andrew Malis, and Alexander Vainshtein for giving input, doing thorough reviews, and leaving useful comments π«Ά the squad really showed up π
Contributors β¨
Mallik Mudigonda, from Cisco Systems, Inc. πΈ Email: mmudigon@cisco.com
Authors' Addresses π§
Vengada Prasad Govindan, from Cisco Systems, Inc. π
Email: venggovi@cisco.com
Carlos Pignataro, from Cisco Systems, Inc. π Email: cpignata@cisco.com
π¦ where this page comes from
- ietf: rfc7885 2016-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms