| < draft-ietf-spring-bfd-03.txt | draft-ietf-spring-bfd-04.txt > | |||
|---|---|---|---|---|
| SPRING Working Group G. Mirsky | SPRING Working Group G. Mirsky | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Standards Track J. Tantsura | Intended status: Standards Track J. Tantsura | |||
| Expires: 28 September 2022 Microsoft | Expires: 28 October 2022 Microsoft | |||
| I. Varlashkin | I. Varlashkin | |||
| M. Chen | M. Chen | |||
| Huawei | Huawei | |||
| J. Wenying | J. Wenying | |||
| CMCC | CMCC | |||
| 27 March 2022 | 26 April 2022 | |||
| Bidirectional Forwarding Detection (BFD) in Segment Routing Networks | Bidirectional Forwarding Detection (BFD) in Segment Routing Networks | |||
| Using MPLS Dataplane | Using MPLS Dataplane | |||
| draft-ietf-spring-bfd-03 | draft-ietf-spring-bfd-04 | |||
| Abstract | Abstract | |||
| Segment Routing (SR) architecture leverages the paradigm of source | Segment Routing (SR) architecture leverages the paradigm of source | |||
| routing. It can be realized in the Multiprotocol Label Switching | routing. It can be realized in the Multiprotocol Label Switching | |||
| (MPLS) network without any change to the data plane. A segment is | (MPLS) network without any change to the data plane. A segment is | |||
| encoded as an MPLS label, and an ordered list of segments is encoded | encoded as an MPLS label, and an ordered list of segments is encoded | |||
| as a stack of labels. Bidirectional Forwarding Detection (BFD) is | as a stack of labels. Bidirectional Forwarding Detection (BFD) is | |||
| expected to monitor any existing path between systems. This document | expected to monitor any existing path between systems. This document | |||
| defines how to use Label Switched Path Ping to bootstrap a BFD | defines how to use Label Switched Path Ping to bootstrap a BFD | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 28 September 2022. | This Internet-Draft will expire on 28 October 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 37 ¶ | skipping to change at page 2, line 37 ¶ | |||
| 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel . . 5 | 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel . . 5 | |||
| 4. Use Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 5 | 4. Use Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with | 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with | |||
| Dynamic Control Plane . . . . . . . . . . . . . . . . . . 7 | Dynamic Control Plane . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Applicability of BFD Demand Mode in SR-MPLS Domain . . . . . 7 | 6. Applicability of BFD Demand Mode in SR-MPLS Domain . . . . . 7 | |||
| 7. Using BFD to Monitor Point-to-Multipoint SR Policy . . . . . 8 | 7. Using BFD to Monitor Point-to-Multipoint SR Policy . . . . . 8 | |||
| 8. Use of Echo BFD in SR-MPLS . . . . . . . . . . . . . . . . . 8 | 8. Use of Echo BFD in SR-MPLS . . . . . . . . . . . . . . . . . 8 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9.1. Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 9 | 9.1. Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 10 | 9.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 10. Implementation Status . . . . . . . . . . . . . . . . . . . . 11 | 10. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 | 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 11 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 14 | 14.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 1. Introduction | 1. Introduction | |||
| [RFC5880], [RFC5881], and [RFC5883] defined the operation of | [RFC5880], [RFC5881], and [RFC5883] defined the operation of | |||
| Bidirectional Forwarding Detection (BFD) protocol between the two | Bidirectional Forwarding Detection (BFD) protocol between the two | |||
| systems over IP networks. [RFC5884] and [RFC7726] set rules for | systems over IP networks. [RFC5884] and [RFC7726] set rules for | |||
| using BFD Asynchronous mode over point-to-point (p2p) Multiprotocol | using BFD Asynchronous mode over point-to-point (p2p) Multiprotocol | |||
| Label Switching (MPLS) Label Switched Path (LSP). These latter | Label Switching (MPLS) Label Switched Path (LSP). These latter | |||
| standards implicitly assume that the remote BFD system, which is at | standards implicitly assume that the remote BFD system, which is at | |||
| skipping to change at page 4, line 28 ¶ | skipping to change at page 4, line 28 ¶ | |||
| detection message, i.e., BFD Control message, and the Forwarding | detection message, i.e., BFD Control message, and the Forwarding | |||
| Equivalency Class (FEC) of a single label stack LSP in case of | Equivalency Class (FEC) of a single label stack LSP in case of | |||
| Penultimate Hop Popping or when the egress LER distributes the | Penultimate Hop Popping or when the egress LER distributes the | |||
| Explicit NULL label to the penultimate hop router. The Explicit NULL | Explicit NULL label to the penultimate hop router. The Explicit NULL | |||
| label is not advertised as a Segment Identifier (SID) by an SR node | label is not advertised as a Segment Identifier (SID) by an SR node | |||
| but, as demonstrated in section 3.1 [RFC8660] if the operation at the | but, as demonstrated in section 3.1 [RFC8660] if the operation at the | |||
| penultimate hop is NEXT; then the egress SR node will receive an IP | penultimate hop is NEXT; then the egress SR node will receive an IP | |||
| encapsulated packet. Thus the conclusion is that LSP Ping MUST be | encapsulated packet. Thus the conclusion is that LSP Ping MUST be | |||
| used to bootstrap a BFD session in an SR-MPLS domain if there are no | used to bootstrap a BFD session in an SR-MPLS domain if there are no | |||
| other means to bootstrap the BFD session, e.g., using an extension to | other means to bootstrap the BFD session, e.g., using an extension to | |||
| a dynamic routing protocol as described in [RFC9026] and | a dynamic routing protocol as described in [RFC9026] and [RFC9186]. | |||
| [I-D.ietf-pim-bfd-p2mp-use-case]. | ||||
| As demonstrated in [RFC8287], the introduction of Segment Routing | As demonstrated in [RFC8287], the introduction of Segment Routing | |||
| network domains with an MPLS data plane requires three new sub-TLVs | network domains with an MPLS data plane requires three new sub-TLVs | |||
| that MAY be used with Target FEC TLV. Section 6.1 addresses the use | that MAY be used with Target FEC TLV. Section 6.1 addresses the use | |||
| of the new sub-TLVs in Target FEC TLV in LSP ping and LSP traceroute. | of the new sub-TLVs in Target FEC TLV in LSP ping and LSP traceroute. | |||
| For the case of LSP ping, the [RFC8287] states that: | For the case of LSP ping, the [RFC8287] states that: | |||
| The initiator, i.e., ingress LER, MUST include FEC(s) | The initiator, i.e., ingress LER, MUST include FEC(s) | |||
| corresponding to the destination segment. | corresponding to the destination segment. | |||
| skipping to change at page 7, line 39 ¶ | skipping to change at page 7, line 39 ¶ | |||
| 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic | 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic | |||
| Control Plane | Control Plane | |||
| When Segment Routed domain with MPLS data plane uses distributed | When Segment Routed domain with MPLS data plane uses distributed | |||
| tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs | tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs | |||
| defined in [RFC8287]. | defined in [RFC8287]. | |||
| 6. Applicability of BFD Demand Mode in SR-MPLS Domain | 6. Applicability of BFD Demand Mode in SR-MPLS Domain | |||
| [I-D.mirsky-bfd-mpls-demand] defines how Demand mode of BFD, | Sections 6.6 and 6.18.4 of [RFC5880] define how Demand mode of BFD | |||
| specified in sections 6.6 and 6.18.4 of [RFC5880], can be used to | can be used to monitor uni-directional MPLS LSP. Similar procedures | |||
| monitor uni-directional MPLS LSP. Similar procedures can be | can be following in SR-MPLS to monitor uni-directional SR tunnels: | |||
| following in SR-MPLS to monitor uni-directional SR tunnels: | ||||
| * an ingress SR node bootstraps BFD session over SR-MPLS in Async | * an ingress SR node bootstraps BFD session over SR-MPLS in Async | |||
| BFD mode; | BFD mode; | |||
| * once BFD session is Up, the ingress SR node switches the egress | * once BFD session is Up, the ingress SR node switches the egress | |||
| LER into the Demand mode by setting D field in BFD Control packet | LER into the Demand mode by setting D field in BFD Control packet | |||
| it transmits; | it transmits; | |||
| * if the egress LER detects the failure of the BFD session, it sends | * if the egress LER detects the failure of the BFD session, it sends | |||
| its BFD Control packet to the ingress SR node over the IP network | its BFD Control packet to the ingress SR node over the IP network | |||
| with a Poll sequence; | with a Poll sequence; | |||
| * if the ingress SR node receives a BFD Control packet from the | * if the ingress SR node receives a BFD Control packet from the | |||
| remote node in a Demand mode with Poll sequence and Diag field | remote node in a Demand mode with Poll sequence and Diag field | |||
| indicating the failure, the ingress SR node transmits BFD Control | indicating the failure, the ingress SR node transmits BFD Control | |||
| packet with Final over IP and switches the BFD over SR-MPLS back | packet with Final over IP and switches the BFD over SR-MPLS back | |||
| into Async mode, sending BFD Control packets one per second. | into Async mode, sending BFD Control packets one per second. | |||
| 7. Using BFD to Monitor Point-to-Multipoint SR Policy | 7. Using BFD to Monitor Point-to-Multipoint SR Policy | |||
| [I-D.voyer-spring-sr-p2mp-policy] defined variants of SR Policy to | [I-D.ietf-spring-sr-replication-segment] defined variants of SR | |||
| deliver point-to-multipoint (p2mp) services. For the given P2MP | Policy to deliver point-to-multipoint (p2mp) services. For the given | |||
| segment [RFC8562] can be used if, for example, leaves have an | P2MP segment [RFC8562] can be used if, for example, leaves have an | |||
| alternative source of the multicast service flow to select. In such | alternative source of the multicast service flow to select. In such | |||
| a scenario, a leaf may switch to using the alternative flow after | a scenario, a leaf may switch to using the alternative flow after | |||
| p2mp BFD detects the failure in the working multicast path. For | p2mp BFD detects the failure in the working multicast path. For | |||
| scenarios where it is required for the root to monitor the state of | scenarios where it is required for the root to monitor the state of | |||
| the multicast tree [RFC8563] can be used. The root may use the | the multicast tree [RFC8563] can be used. The root may use the | |||
| detection of the failure of the multicast tree to the particular leaf | detection of the failure of the multicast tree to the particular leaf | |||
| to restore the path for that leaf or re-instantiate the whole | to restore the path for that leaf or re-instantiate the whole | |||
| multicast tree. | multicast tree. | |||
| An essential part of using p2mp BFD is the bootstrapping the BFD | An essential part of using p2mp BFD is the bootstrapping the BFD | |||
| skipping to change at page 12, line 25 ¶ | skipping to change at page 11, line 45 ¶ | |||
| 14.1. Normative References | 14.1. Normative References | |||
| [I-D.ietf-mpls-bfd-directed] | [I-D.ietf-mpls-bfd-directed] | |||
| Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, | Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, | |||
| "Bidirectional Forwarding Detection (BFD) Directed Return | "Bidirectional Forwarding Detection (BFD) Directed Return | |||
| Path for MPLS Label Switched Paths (LSPs)", Work in | Path for MPLS Label Switched Paths (LSPs)", Work in | |||
| Progress, Internet-Draft, draft-ietf-mpls-bfd-directed-19, | Progress, Internet-Draft, draft-ietf-mpls-bfd-directed-19, | |||
| 14 February 2022, <https://datatracker.ietf.org/doc/html/ | 14 February 2022, <https://datatracker.ietf.org/doc/html/ | |||
| draft-ietf-mpls-bfd-directed-19>. | draft-ietf-mpls-bfd-directed-19>. | |||
| [I-D.mirsky-bfd-mpls-demand] | [I-D.ietf-spring-sr-replication-segment] | |||
| Mirsky, G., "BFD in Demand Mode over Point-to-Point MPLS | (editor), D. V., Filsfils, C., Parekh, R., Bidgoli, H., | |||
| LSP", Work in Progress, Internet-Draft, draft-mirsky-bfd- | and Z. Zhang, "SR Replication Segment for Multi-point | |||
| mpls-demand-11, 7 March 2022, | Service Delivery", Work in Progress, Internet-Draft, | |||
| <https://datatracker.ietf.org/doc/html/draft-mirsky-bfd- | draft-ietf-spring-sr-replication-segment-07, 7 March 2022, | |||
| mpls-demand-11>. | <https://datatracker.ietf.org/doc/html/draft-ietf-spring- | |||
| sr-replication-segment-07>. | ||||
| [I-D.voyer-spring-sr-p2mp-policy] | ||||
| Voyer, D., Filsfils, C., Parekh, R., Bidgoli, H., and Z. | ||||
| Zhang, "SR Replication Policy for P2MP Service Delivery", | ||||
| Work in Progress, Internet-Draft, draft-voyer-spring-sr- | ||||
| p2mp-policy-03, 2 July 2019, | ||||
| <https://datatracker.ietf.org/doc/html/draft-voyer-spring- | ||||
| sr-p2mp-policy-03>. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
| (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | |||
| <https://www.rfc-editor.org/info/rfc5880>. | <https://www.rfc-editor.org/info/rfc5880>. | |||
| skipping to change at page 14, line 23 ¶ | skipping to change at page 13, line 31 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8563>. | <https://www.rfc-editor.org/info/rfc8563>. | |||
| [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
| Routing with the MPLS Data Plane", RFC 8660, | Routing with the MPLS Data Plane", RFC 8660, | |||
| DOI 10.17487/RFC8660, December 2019, | DOI 10.17487/RFC8660, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8660>. | <https://www.rfc-editor.org/info/rfc8660>. | |||
| 14.2. Informative References | 14.2. Informative References | |||
| [I-D.ietf-pim-bfd-p2mp-use-case] | ||||
| Mirsky, G. and J. Xiaoli, "Fast Failover in Protocol | ||||
| Independent Multicast - Sparse Mode (PIM-SM) Using | ||||
| Bidirectional Forwarding Detection (BFD) for Multipoint | ||||
| Networks", Work in Progress, Internet-Draft, draft-ietf- | ||||
| pim-bfd-p2mp-use-case-10, 9 December 2021, | ||||
| <https://datatracker.ietf.org/doc/html/draft-ietf-pim-bfd- | ||||
| p2mp-use-case-10>. | ||||
| [I-D.ietf-spring-mpls-anycast-segments] | [I-D.ietf-spring-mpls-anycast-segments] | |||
| Sarkar, P., Gredler, H., Filsfils, C., Previdi, S., | Sarkar, P., Gredler, H., Filsfils, C., Previdi, S., | |||
| Decraene, B., and M. Horneffer, "Anycast Segments in MPLS | Decraene, B., and M. Horneffer, "Anycast Segments in MPLS | |||
| based Segment Routing", Work in Progress, Internet-Draft, | based Segment Routing", Work in Progress, Internet-Draft, | |||
| draft-ietf-spring-mpls-anycast-segments-03, 27 April 2020, | draft-ietf-spring-mpls-anycast-segments-03, 27 April 2020, | |||
| <https://datatracker.ietf.org/doc/html/draft-ietf-spring- | <https://datatracker.ietf.org/doc/html/draft-ietf-spring- | |||
| mpls-anycast-segments-03>. | mpls-anycast-segments-03>. | |||
| [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and | [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and | |||
| L. Yong, "The Use of Entropy Labels in MPLS Forwarding", | L. Yong, "The Use of Entropy Labels in MPLS Forwarding", | |||
| RFC 6790, DOI 10.17487/RFC6790, November 2012, | RFC 6790, DOI 10.17487/RFC6790, November 2012, | |||
| <https://www.rfc-editor.org/info/rfc6790>. | <https://www.rfc-editor.org/info/rfc6790>. | |||
| [RFC9026] Morin, T., Ed., Kebler, R., Ed., and G. Mirsky, Ed., | [RFC9026] Morin, T., Ed., Kebler, R., Ed., and G. Mirsky, Ed., | |||
| "Multicast VPN Fast Upstream Failover", RFC 9026, | "Multicast VPN Fast Upstream Failover", RFC 9026, | |||
| DOI 10.17487/RFC9026, April 2021, | DOI 10.17487/RFC9026, April 2021, | |||
| <https://www.rfc-editor.org/info/rfc9026>. | <https://www.rfc-editor.org/info/rfc9026>. | |||
| [RFC9186] Mirsky, G. and X. Ji, "Fast Failover in Protocol | ||||
| Independent Multicast - Sparse Mode (PIM-SM) Using | ||||
| Bidirectional Forwarding Detection (BFD) for Multipoint | ||||
| Networks", RFC 9186, DOI 10.17487/RFC9186, January 2022, | ||||
| <https://www.rfc-editor.org/info/rfc9186>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Greg Mirsky | Greg Mirsky | |||
| Ericsson | Ericsson | |||
| Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Microsoft | Microsoft | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| Ilya Varlashkin | Ilya Varlashkin | |||
| End of changes. 13 change blocks. | ||||
| 41 lines changed or deleted | 30 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||