| < draft-filsfils-spring-srv6-network-programming-04.txt | draft-filsfils-spring-srv6-network-programming-05.txt > | |||
|---|---|---|---|---|
| SPRING C. Filsfils | SPRING C. Filsfils | |||
| Internet-Draft Cisco Systems, Inc. | Internet-Draft P. Camarillo, Ed. | |||
| Intended status: Standards Track Z. Li | Intended status: Standards Track Cisco Systems, Inc. | |||
| Expires: September 5, 2018 Huawei Technologies | Expires: January 3, 2019 J. Leddy | |||
| J. Leddy | ||||
| Comcast | Comcast | |||
| D. Voyer | D. Voyer | |||
| D. Bernier | ||||
| Bell Canada | Bell Canada | |||
| D. Steinberg | ||||
| Steinberg Consulting | ||||
| R. Raszuk | ||||
| Bloomberg LP | ||||
| S. Matsushima | S. Matsushima | |||
| SoftBank | SoftBank | |||
| D. Lebrun | Z. Li | |||
| Universite catholique de Louvain | Huawei Technologies | |||
| B. Decraene | July 2, 2018 | |||
| Orange | ||||
| B. Peirens | ||||
| Proximus | ||||
| S. Salsano | ||||
| Universita di Roma "Tor Vergata" | ||||
| G. Naik | ||||
| Drexel University | ||||
| H. Elmalky | ||||
| Ericsson | ||||
| P. Jonnalagadda | ||||
| M. Sharif | ||||
| Barefoot Networks | ||||
| A. Ayyangar | ||||
| Arista | ||||
| S. Mynam | ||||
| Innovium Inc. | ||||
| W. Henderickx | ||||
| Nokia | ||||
| S. Ma | ||||
| Juniper | ||||
| A. Bashandy | ||||
| K. Raza | ||||
| D. Dukes | ||||
| F. Clad | ||||
| P. Camarillo, Ed. | ||||
| Cisco Systems, Inc. | ||||
| March 4, 2018 | ||||
| SRv6 Network Programming | SRv6 Network Programming | |||
| draft-filsfils-spring-srv6-network-programming-04 | draft-filsfils-spring-srv6-network-programming-05 | |||
| Abstract | Abstract | |||
| This document describes the SRv6 network programming concept and its | This document describes the SRv6 network programming concept and its | |||
| most basic functions. | most basic functions. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| skipping to change at page 2, line 31 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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 September 5, 2018. | This Internet-Draft will expire on January 3, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. SRv6 Segment . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. SRv6 Segment . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Functions associated with a SID . . . . . . . . . . . . . . . 8 | 4. Functions associated with a SID . . . . . . . . . . . . . . . 7 | |||
| 4.1. End: Endpoint . . . . . . . . . . . . . . . . . . . . . . 10 | 4.1. End: Endpoint . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.2. End.X: Endpoint with Layer-3 cross-connect . . . . . . . 10 | 4.2. End.X: Endpoint with Layer-3 cross-connect . . . . . . . 9 | |||
| 4.3. End.T: Endpoint with specific IPv6 table lookup . . . . . 11 | 4.3. End.T: Endpoint with specific IPv6 table lookup . . . . . 10 | |||
| 4.4. End.DX2: Endpoint with decapsulation and Layer-2 cross- | 4.4. End.DX2: Endpoint with decapsulation and Layer-2 cross- | |||
| connect . . . . . . . . . . . . . . . . . . . . . . . . . 12 | connect . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.5. End.DX2V: Endpoint with decapsulation and VLAN L2 table | 4.5. End.DX2V: Endpoint with decapsulation and VLAN L2 table | |||
| lookup . . . . . . . . . . . . . . . . . . . . . . . . . 12 | lookup . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.6. End.DT2U: Endpoint with decapsulation and unicast MAC L2 | 4.6. End.DT2U: Endpoint with decapsulation and unicast MAC L2 | |||
| table lookup . . . . . . . . . . . . . . . . . . . . . . 13 | table lookup . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.7. End.DT2M: Endpoint with decapsulation and L2 table | 4.7. End.DT2M: Endpoint with decapsulation and L2 table | |||
| flooding . . . . . . . . . . . . . . . . . . . . . . . . 14 | flooding . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.8. End.DX6: Endpoint with decapsulation and IPv6 cross- | 4.8. End.DX6: Endpoint with decapsulation and IPv6 cross- | |||
| connect . . . . . . . . . . . . . . . . . . . . . . . . . 14 | connect . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.9. End.DX4: Endpoint with decapsulation and IPv4 cross- | 4.9. End.DX4: Endpoint with decapsulation and IPv4 cross- | |||
| connect . . . . . . . . . . . . . . . . . . . . . . . . . 15 | connect . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.10. End.DT6: Endpoint with decapsulation and specific IPv6 | 4.10. End.DT6: Endpoint with decapsulation and specific IPv6 | |||
| table lookup . . . . . . . . . . . . . . . . . . . . . . 16 | table lookup . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.11. End.DT4: Endpoint with decapsulation and specific IPv4 | 4.11. End.DT4: Endpoint with decapsulation and specific IPv4 | |||
| table lookup . . . . . . . . . . . . . . . . . . . . . . 16 | table lookup . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.12. End.DT46: Endpoint with decapsulation and specific IP | 4.12. End.DT46: Endpoint with decapsulation and specific IP | |||
| table lookup . . . . . . . . . . . . . . . . . . . . . . 17 | table lookup . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 4.13. End.B6: Endpoint bound to an SRv6 policy . . . . . . . . 18 | 4.13. End.B6: Endpoint bound to an SRv6 policy . . . . . . . . 17 | |||
| 4.14. End.B6.Encaps: Endpoint bound to an SRv6 encapsulation | 4.14. End.B6.Red: Endpoint bound to an SRv6 reduced policy . . 17 | |||
| 4.15. End.B6.Encaps: Endpoint bound to an SRv6 encapsulation | ||||
| policy . . . . . . . . . . . . . . . . . . . . . . . . . 18 | policy . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.15. End.B6.Encaps.Red: Endpoint bound to an SRv6 reduced | 4.16. End.B6.Encaps.Red: Endpoint bound to an SRv6 reduced | |||
| encapsulation policy . . . . . . . . . . . . . . . . . . 19 | encapsulation policy . . . . . . . . . . . . . . . . . . 18 | |||
| 4.16. End.BM: Endpoint bound to an SR-MPLS policy . . . . . . . 19 | ||||
| 4.17. End.S: Endpoint in search of a target in table T . . . . 20 | 4.17. End.BM: Endpoint bound to an SR-MPLS policy . . . . . . . 18 | |||
| 4.18. SR-aware application . . . . . . . . . . . . . . . . . . 20 | 4.18. End.S: Endpoint in search of a target in table T . . . . 19 | |||
| 4.19. Non SR-aware application . . . . . . . . . . . . . . . . 21 | 4.19. SR-aware application . . . . . . . . . . . . . . . . . . 19 | |||
| 4.20. Flavours . . . . . . . . . . . . . . . . . . . . . . . . 21 | 4.20. Non SR-aware application . . . . . . . . . . . . . . . . 20 | |||
| 4.20.1. PSP: Penultimate Segment Pop of the SRH . . . . . . 21 | 4.21. Flavours . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 4.20.2. USP: Ultimate Segment Pop of the SRH . . . . . . . . 21 | 4.21.1. PSP: Penultimate Segment Pop of the SRH . . . . . . 20 | |||
| 5. Transit behaviors . . . . . . . . . . . . . . . . . . . . . . 22 | 4.21.2. USP: Ultimate Segment Pop of the SRH . . . . . . . . 21 | |||
| 5.1. T: Transit behavior . . . . . . . . . . . . . . . . . . . 22 | 5. Transit behaviors . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 5.1. T: Transit behavior . . . . . . . . . . . . . . . . . . . 21 | ||||
| 5.2. T.Insert: Transit with insertion of an SRv6 Policy . . . 22 | 5.2. T.Insert: Transit with insertion of an SRv6 Policy . . . 22 | |||
| 5.3. T.Insert.Red: Transit with reduced insertion of an SRv6 | 5.3. T.Insert.Red: Transit with reduced insertion of an SRv6 | |||
| Policy . . . . . . . . . . . . . . . . . . . . . . . . . 23 | Policy . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 5.4. T.Encaps: Transit with encapsulation in an SRv6 Policy . 23 | 5.4. T.Encaps: Transit with encapsulation in an SRv6 Policy . 23 | |||
| 5.5. T.Encaps.Red: Transit with reduce encaps in an SRv6 | 5.5. T.Encaps.Red: Transit with reduce encaps in an SRv6 | |||
| Policy . . . . . . . . . . . . . . . . . . . . . . . . . 24 | Policy . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 5.6. T.Encaps.L2: Transit with encapsulation of L2 frames . . 25 | 5.6. T.Encaps.L2: Transit with encapsulation of L2 frames . . 24 | |||
| 5.7. T.Encaps.L2.Red: Transit with reduce encaps of L2 frames | 5.7. T.Encaps.L2.Red: Transit with reduce encaps of L2 frames | |||
| in an SRv6 Policy . . . . . . . . . . . . . . . . . . . . 25 | in an SRv6 Policy . . . . . . . . . . . . . . . . . . . . 24 | |||
| 6. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 6. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 6.1. Counters . . . . . . . . . . . . . . . . . . . . . . . . 25 | 6.1. Counters . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 6.2. Flow-based hash computation . . . . . . . . . . . . . . . 26 | 6.2. Flow-based hash computation . . . . . . . . . . . . . . . 25 | |||
| 6.3. O-bit processing . . . . . . . . . . . . . . . . . . . . 26 | 6.3. OAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 6.4. End.OTP: OAM Endpoint with Timestamp and Punt . . . . . . 27 | 7. Basic security for intra-domain deployment . . . . . . . . . 26 | |||
| 7. Basic security for intra-domain deployment . . . . . . . . . 27 | 7.1. SEC 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 7.1. SEC 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 7.2. SEC 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7.2. SEC 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 7.3. SEC 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7.3. SEC 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 7.4. SEC 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7.4. SEC 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 8. Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 8. Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 29 | 8.1. IGP . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 8.1. IGP . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 8.2. BGP-LS . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 8.2. BGP-LS . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 8.3. BGP IP/VPN . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 8.3. BGP IP/VPN . . . . . . . . . . . . . . . . . . . . . . . 30 | 8.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 8.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 9. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 9. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 32 | 9.1. Simplified SID allocation . . . . . . . . . . . . . . . . 30 | |||
| 9.1. Simplified SID allocation . . . . . . . . . . . . . . . . 32 | 9.2. Reference diagram . . . . . . . . . . . . . . . . . . . . 31 | |||
| 9.2. Reference diagram . . . . . . . . . . . . . . . . . . . . 33 | 9.3. Basic security . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 9.3. Basic security . . . . . . . . . . . . . . . . . . . . . 33 | 9.4. SR-IPVPN . . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 9.4. SR-IPVPN . . . . . . . . . . . . . . . . . . . . . . . . 33 | 9.5. SR-Ethernet-VPWS . . . . . . . . . . . . . . . . . . . . 32 | |||
| 9.5. SR-Ethernet-VPWS . . . . . . . . . . . . . . . . . . . . 34 | 9.6. SR-EVPN-FXC . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 9.6. SR-EVPN-FXC . . . . . . . . . . . . . . . . . . . . . . . 35 | 9.7. SR-EVPN . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 9.7. SR-EVPN . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 9.7.1. EVPN Bridging . . . . . . . . . . . . . . . . . . . . 34 | |||
| 9.7.1. EVPN Bridging . . . . . . . . . . . . . . . . . . . . 36 | 9.7.2. EVPN Multi-homing with ESI filtering . . . . . . . . 36 | |||
| 9.7.2. EVPN Multi-homing with ESI filtering . . . . . . . . 38 | 9.7.3. EVPN Layer-3 . . . . . . . . . . . . . . . . . . . . 37 | |||
| 9.7.3. EVPN Layer-3 . . . . . . . . . . . . . . . . . . . . 39 | 9.7.4. EVPN Integrated Routing Bridging (IRB) . . . . . . . 37 | |||
| 9.7.4. EVPN Integrated Routing Bridging (IRB) . . . . . . . 39 | 9.8. SR TE for Underlay SLA . . . . . . . . . . . . . . . . . 38 | |||
| 9.8. SR TE for Underlay SLA . . . . . . . . . . . . . . . . . 40 | 9.8.1. SR policy from the Ingress PE . . . . . . . . . . . . 38 | |||
| 9.8.1. SR policy from the Ingress PE . . . . . . . . . . . . 40 | 9.8.2. SR policy at a midpoint . . . . . . . . . . . . . . . 39 | |||
| 9.8.2. SR policy at a midpoint . . . . . . . . . . . . . . . 41 | 9.9. End-to-End policy with intermediate BSID . . . . . . . . 40 | |||
| 9.9. End-to-End policy with intermediate BSID . . . . . . . . 42 | 9.10. TI-LFA . . . . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 9.10. TI-LFA . . . . . . . . . . . . . . . . . . . . . . . . . 43 | 9.11. SR TE for Service programming . . . . . . . . . . . . . . 42 | |||
| 9.11. SR TE for Service chaining . . . . . . . . . . . . . . . 44 | 10. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . 43 | |||
| 9.12. OAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 | 10.1. Seamless deployment . . . . . . . . . . . . . . . . . . 43 | |||
| 9.12.1. Ping to a SID function . . . . . . . . . . . . . . . 45 | 10.2. Integration . . . . . . . . . . . . . . . . . . . . . . 44 | |||
| 9.12.2. End-to-end ping using End.OTP . . . . . . . . . . . 46 | 10.3. Security . . . . . . . . . . . . . . . . . . . . . . . . 44 | |||
| 9.12.3. Segment-by-segment ping using the O-bit . . . . . . 46 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 10. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . 47 | 12. Work in progress . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| 10.1. Seamless deployment . . . . . . . . . . . . . . . . . . 47 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| 10.2. Integration . . . . . . . . . . . . . . . . . . . . . . 48 | 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 47 | |||
| 10.3. Security . . . . . . . . . . . . . . . . . . . . . . . . 48 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 49 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 49 | |||
| 12. Work in progress . . . . . . . . . . . . . . . . . . . . . . 50 | 15.2. Informative References . . . . . . . . . . . . . . . . . 50 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 50 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 50 | ||||
| 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 51 | ||||
| 15.1. Normative References . . . . . . . . . . . . . . . . . . 51 | ||||
| 15.2. Informative References . . . . . . . . . . . . . . . . . 51 | ||||
| Appendix A. Additional Contributors . . . . . . . . . . . . . . 53 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 53 | ||||
| 1. Introduction | 1. Introduction | |||
| Segment Routing leverages the source routing paradigm. An ingress | Segment Routing leverages the source routing paradigm. An ingress | |||
| node steers a packet through a ordered list of instructions, called | node steers a packet through a ordered list of instructions, called | |||
| segments. Each one of these instructions represents a function to be | segments. Each one of these instructions represents a function to be | |||
| called at a specific location in the network. A function is locally | called at a specific location in the network. A function is locally | |||
| defined on the node where it is executed and may range from simply | defined on the node where it is executed and may range from simply | |||
| moving forward in the segment list to any complex user-defined | moving forward in the segment list to any complex user-defined | |||
| behavior. The network programming consists in combining segment | behavior. The network programming consists in combining segment | |||
| routing functions, both simple and complex, to achieve a networking | routing functions, both simple and complex, to achieve a networking | |||
| objective that goes beyond mere packet routing. | objective that goes beyond mere packet routing. | |||
| This document illustrates the SRv6 Network Programming concept and | This document illustrates the SRv6 Network Programming concept and | |||
| aims at standardizing the main segment routing functions to enable | aims at standardizing the main segment routing functions to enable | |||
| the creation of interoperable overlays with underlay optimization and | the creation of interoperable overlays with underlay optimization and | |||
| service chaining. | service programming. | |||
| Familiarity with the Segment Routing Header | Familiarity with the Segment Routing Header | |||
| [I-D.ietf-6man-segment-routing-header] is assumed. | [I-D.ietf-6man-segment-routing-header] is assumed. | |||
| 2. Terminology | 2. Terminology | |||
| SRH is the abbreviation for the Segment Routing Header. We assume | SRH is the abbreviation for the Segment Routing Header. We assume | |||
| that the SRH may be present multiple times inside each packet. | that the SRH may be present multiple times inside each packet. | |||
| NH is the abbreviation of the IPv6 next-header field. | NH is the abbreviation of the IPv6 next-header field. | |||
| skipping to change at page 18, line 45 ¶ | skipping to change at page 17, line 45 ¶ | |||
| Ref2: In case that an SRH already exists, the new SRH is inserted in | Ref2: In case that an SRH already exists, the new SRH is inserted in | |||
| between the IPv6 header and the received SRH | between the IPv6 header and the received SRH | |||
| Note: Instead of the term "insert", "push" may also be used. | Note: Instead of the term "insert", "push" may also be used. | |||
| The End.B6 function is required to express scalable traffic- | The End.B6 function is required to express scalable traffic- | |||
| engineering policies across multiple domains. This is the SRv6 | engineering policies across multiple domains. This is the SRv6 | |||
| instantiation of a Binding SID [I-D.ietf-spring-segment-routing]. | instantiation of a Binding SID [I-D.ietf-spring-segment-routing]. | |||
| 4.14. End.B6.Encaps: Endpoint bound to an SRv6 encapsulation policy | 4.14. End.B6.Red: Endpoint bound to an SRv6 reduced policy | |||
| This is an optimization of the End.B6 function. | ||||
| End.B6.Red will reduce the size of the SRH by one segment by avoiding | ||||
| the insertion of the first SID in the pushed SRH. In this way, the | ||||
| first segment is only introduced in the DA and the packet is | ||||
| forwarded according to it. | ||||
| Note that SL value is initially pointing to a non-existing segment in | ||||
| the SRH. | ||||
| 4.15. End.B6.Encaps: Endpoint bound to an SRv6 encapsulation policy | ||||
| This is a variation of the End.B6 behavior where the SRv6 Policy also | This is a variation of the End.B6 behavior where the SRv6 Policy also | |||
| includes an IPv6 Source Address A. | includes an IPv6 Source Address A. | |||
| When N receives a packet destined to S and S is a local End.B6.Encaps | When N receives a packet destined to S and S is a local End.B6.Encaps | |||
| SID, N does: | SID, N does: | |||
| 1. IF NH=SRH and SL > 0 | 1. IF NH=SRH and SL > 0 | |||
| 2. decrement SL and update the IPv6 DA with SRH[SL] | 2. decrement SL and update the IPv6 DA with SRH[SL] | |||
| 3. push an outer IPv6 header with its own SRH | 3. push an outer IPv6 header with its own SRH | |||
| 4. set the outer IPv6 SA to A | 4. set the outer IPv6 SA to A | |||
| 5. set the outer IPv6 DA to the first segment of the SRv6 Policy | 5. set the outer IPv6 DA to the first segment of the SRv6 Policy | |||
| 6. forward according to the first segment of the SRv6 Policy | 6. forward according to the first segment of the SRv6 Policy | |||
| 7. ELSE | 7. ELSE | |||
| 8. drop the packet | 8. drop the packet | |||
| Instead of simply inserting an SRH with the policy (End.B6), this | Instead of simply inserting an SRH with the policy (End.B6), this | |||
| behavior also adds an outer IPv6 header. The source address defined | behavior also adds an outer IPv6 header. The source address defined | |||
| for the outer header does not have to be a local SID of the node. | for the outer header does not have to be a local SID of the node. | |||
| 4.15. End.B6.Encaps.Red: Endpoint bound to an SRv6 reduced | 4.16. End.B6.Encaps.Red: Endpoint bound to an SRv6 reduced | |||
| encapsulation policy | encapsulation policy | |||
| This is an optimization of the End.B6.Encaps function. | This is an optimization of the End.B6.Encaps function. | |||
| End.B6.Encaps.Red will reduce the size of the SRH by one segment by | End.B6.Encaps.Red will reduce the size of the SRH by one segment by | |||
| avoiding the insertion of the first SID in the pushed SRH. In this | avoiding the insertion of the first SID in the pushed SRH. In this | |||
| way, the first segment is only introduced in the DA and the packet is | way, the first segment is only introduced in the DA and the packet is | |||
| forwarded according to it. | forwarded according to it. | |||
| Note that SL value is initially pointing to a non-existing segment in | Note that SL value is initially pointing to a non-existing segment in | |||
| the SRH. | the SRH. | |||
| 4.16. End.BM: Endpoint bound to an SR-MPLS policy | 4.17. End.BM: Endpoint bound to an SR-MPLS policy | |||
| The "Endpoint bound to an SR-MPLS Policy" is a variant of the End.B6 | The "Endpoint bound to an SR-MPLS Policy" is a variant of the End.B6 | |||
| function. | function. | |||
| When N receives a packet destined to S and S is a local End.BM SID, N | When N receives a packet destined to S and S is a local End.BM SID, N | |||
| does: | does: | |||
| 1. IF NH=SRH and SL > 0 ;; Ref1 | 1. IF NH=SRH and SL > 0 ;; Ref1 | |||
| 2. decrement SL and update the IPv6 DA with SRH[SL] | 2. decrement SL and update the IPv6 DA with SRH[SL] | |||
| 3. push an MPLS label stack <L1, L2, L3> on the received packet | 3. push an MPLS label stack <L1, L2, L3> on the received packet | |||
| skipping to change at page 20, line 8 ¶ | skipping to change at page 19, line 21 ¶ | |||
| Ref1: an End.BM SID, by definition, is never the last SID. | Ref1: an End.BM SID, by definition, is never the last SID. | |||
| The End.BM function is required to express scalable traffic- | The End.BM function is required to express scalable traffic- | |||
| engineering policies across multiple domains where some domains | engineering policies across multiple domains where some domains | |||
| support the MPLS instantiation of Segment Routing. | support the MPLS instantiation of Segment Routing. | |||
| This is an SRv6 instantiation of a SR-MPLS Binding SID | This is an SRv6 instantiation of a SR-MPLS Binding SID | |||
| [I-D.ietf-spring-segment-routing]. | [I-D.ietf-spring-segment-routing]. | |||
| 4.17. End.S: Endpoint in search of a target in table T | 4.18. End.S: Endpoint in search of a target in table T | |||
| The "Endpoint in search of a target in Table T" function (End.S for | The "Endpoint in search of a target in Table T" function (End.S for | |||
| short) is a variant of the End function. | short) is a variant of the End function. | |||
| When N receives a packet destined to S and S is a local End.S SID, N | When N receives a packet destined to S and S is a local End.S SID, N | |||
| does: | does: | |||
| 1. IF NH=SRH and SL = 0 ;; Ref1 | 1. IF NH=SRH and SL = 0 ;; Ref1 | |||
| 2. drop the packet | 2. drop the packet | |||
| 3. ELSE IF match(last SID) in specified table T | 3. ELSE IF match(last SID) in specified table T | |||
| skipping to change at page 20, line 33 ¶ | skipping to change at page 19, line 46 ¶ | |||
| Ref1: By definition, an End.S SID cannot be the last SID, as the last | Ref1: By definition, an End.S SID cannot be the last SID, as the last | |||
| SID is the targeted object. | SID is the targeted object. | |||
| The End.S function is required in information-centric networking | The End.S function is required in information-centric networking | |||
| (ICN) use-cases where the last SID in the SRv6 SID list represents a | (ICN) use-cases where the last SID in the SRv6 SID list represents a | |||
| targeted object. If the identification of the object would require | targeted object. If the identification of the object would require | |||
| more than 128 bits, then obvious customization of the End.S function | more than 128 bits, then obvious customization of the End.S function | |||
| may either use multiple SIDs or a TLV of the SR header to encode the | may either use multiple SIDs or a TLV of the SR header to encode the | |||
| searched object ID. | searched object ID. | |||
| 4.18. SR-aware application | 4.19. SR-aware application | |||
| Generally, any SR-aware application can be bound to an SRv6 SID. | Generally, any SR-aware application can be bound to an SRv6 SID. | |||
| This application could represent anything from a small piece of code | This application could represent anything from a small piece of code | |||
| focused on topological/tenant function to a much larger process | focused on topological/tenant function to a much larger process | |||
| focusing on higher-level applications (e.g. video compression, | focusing on higher-level applications (e.g. video compression, | |||
| transcoding etc.). | transcoding etc.). | |||
| The ways in which an SR-aware application can binds itself on a local | The ways in which an SR-aware application can binds itself on a local | |||
| SID depends on the operating system. Let us consider an SR-aware | SID depends on the operating system. Let us consider an SR-aware | |||
| application running on a Linux operating system. A possible approach | application running on a Linux operating system. A possible approach | |||
| skipping to change at page 21, line 7 ¶ | skipping to change at page 20, line 20 ¶ | |||
| target interface. In this approach, the SR-aware application can | target interface. In this approach, the SR-aware application can | |||
| simply listen to all packets received on the interface. | simply listen to all packets received on the interface. | |||
| A different approach for the SR-aware app is to listen to packets | A different approach for the SR-aware app is to listen to packets | |||
| received with a specific SRv6 SID as IPv6 DA on a given transport | received with a specific SRv6 SID as IPv6 DA on a given transport | |||
| port (i.e. corresponding to a TCP or UDP socket). In this case, the | port (i.e. corresponding to a TCP or UDP socket). In this case, the | |||
| app can read the SRH information with a getsockopt Linux system call | app can read the SRH information with a getsockopt Linux system call | |||
| and can set the SRH information to be added to the outgoing packets | and can set the SRH information to be added to the outgoing packets | |||
| with a setsocksopt system call. | with a setsocksopt system call. | |||
| 4.19. Non SR-aware application | 4.20. Non SR-aware application | |||
| [I-D.xu-clad-spring-sr-service-chaining] defines a set of additional | [I-D.xuclad-spring-sr-service-programming] defines a set of | |||
| functions in order to enable non SR-aware applications to be | additional functions in order to enable non SR-aware applications to | |||
| associated with a SRv6 Local SID. | be associated with a SRv6 Local SID. | |||
| 4.20. Flavours | 4.21. Flavours | |||
| We present the PSP and USP variants of the functions End, End.X and | We present the PSP and USP variants of the functions End, End.X and | |||
| End.T. For each of these functions these variants can be enabled or | End.T. For each of these functions these variants can be enabled or | |||
| disabled either individually or together. | disabled either individually or together. | |||
| 4.20.1. PSP: Penultimate Segment Pop of the SRH | 4.21.1. PSP: Penultimate Segment Pop of the SRH | |||
| After the instruction 'update the IPv6 DA with SRH[SL]' is executed, | After the instruction 'update the IPv6 DA with SRH[SL]' is executed, | |||
| the following instructions must be added: | the following instructions must be added: | |||
| 1. IF updated SL = 0 & PSP is TRUE & O-bit = 0 & A-bit = 0 ;; Ref1 | 1. IF updated SL = 0 & PSP is TRUE & O-bit = 0 & A-bit = 0 ;; Ref1 | |||
| 2. pop the top SRH ;; Ref2 | 2. pop the top SRH ;; Ref2 | |||
| Ref1: If the SRH.Flags.O-bit or SRH.Flags.A-bit is set, PSP of the | Ref1: If the SRH.Flags.O-bit or SRH.Flags.A-bit is set, PSP of the | |||
| SRH is disabled. Section 6.1 specifies the pseudocode needed to | SRH is disabled. Section 6.1 specifies the pseudocode needed to | |||
| process the SRH.Flags.O-bit. | process the SRH.Flags.O-bit. | |||
| Ref2: The received SRH had SL=1. When the last SID is written in the | Ref2: The received SRH had SL=1. When the last SID is written in the | |||
| DA, the End, End.X and End.T functions with the PSP flavour pop the | DA, the End, End.X and End.T functions with the PSP flavour pop the | |||
| first (top-most) SRH. Subsequent stacked SRH's may be present but | first (top-most) SRH. Subsequent stacked SRH's may be present but | |||
| are not processed as part of the function. | are not processed as part of the function. | |||
| 4.20.2. USP: Ultimate Segment Pop of the SRH | 4.21.2. USP: Ultimate Segment Pop of the SRH | |||
| We insert at the beginning of the pseudo-code the following | We insert at the beginning of the pseudo-code the following | |||
| instructions: | instructions: | |||
| 1. IF NH=SRH & SL = 0 & USP=TRUE ;; Ref1 | 1. IF NH=SRH & SL = 0 & USP=TRUE ;; Ref1 | |||
| 2. pop the top SRH | 2. pop the top SRH | |||
| 3. restart the function processing on the modified packet ;; Ref2 | 3. restart the function processing on the modified packet ;; Ref2 | |||
| Ref1: The next header is an SRH header | Ref1: The next header is an SRH header | |||
| skipping to change at page 26, line 31 ¶ | skipping to change at page 25, line 44 ¶ | |||
| This occurs when the destination address is updated, a FIB lookup is | This occurs when the destination address is updated, a FIB lookup is | |||
| performed and multiple ECMP paths exist to the updated destination | performed and multiple ECMP paths exist to the updated destination | |||
| address. | address. | |||
| This occurs when End.X is bound to an array of adjacencies. | This occurs when End.X is bound to an array of adjacencies. | |||
| This occurs when the packet is steered in an SR policy whose selected | This occurs when the packet is steered in an SR policy whose selected | |||
| path has multiple SID lists | path has multiple SID lists | |||
| [I-D.filsfils-spring-segment-routing-policy]. | [I-D.filsfils-spring-segment-routing-policy]. | |||
| 6.3. O-bit processing | 6.3. OAM | |||
| [I-D.ietf-6man-segment-routing-header] defines the Segment Routing | ||||
| Header (SRH) Flag O-bit. This document defines the usage of the | ||||
| O-bit in the SRH. | ||||
| Implementation of the O-bit is optional. If a node does not support | ||||
| the O-bit, then upon reception it simply ignores it. If a node | ||||
| supports the O-bit, it can optionally advertise its potential via | ||||
| node capability advertisement in IGP. | ||||
| The SRH.Flags.O-bit implements the "punt a timestamped copy and | ||||
| forward" behavior. We insert at the beginning of the pseudo-code the | ||||
| following instructions: | ||||
| 1. Timestamp a local copy of the packet. ;; Ref1 | ||||
| 2. Punt the copied packet to CPU for SW processing (slow-path);; Ref2 | ||||
| Ref1: Timestamping is done ASAP at the ingress pipeline (in | ||||
| hardware). As timestamping is done on a copy of the packet which is | ||||
| locally punted, timestamp value can be carried in the local packet | ||||
| header. | ||||
| Ref2: Hardware (microcode) just punts the packet. There is no | ||||
| requirement for the hardware to manipulate any TLV in SRH (or | ||||
| elsewhere). Software (slow path) implements the required OAM | ||||
| mechanism. Timestamp is not carried in the packet forwarded to the | ||||
| next hop. | ||||
| 6.4. End.OTP: OAM Endpoint with Timestamp and Punt | ||||
| Many scenarios require punting of SRv6 OAM packets at the desired | ||||
| nodes in the network. The "OAM Endpoint with Timestamp and Punt" | ||||
| function (End.OTP for short) represents a special OAM function to | ||||
| implement the timestamp and punt behavior for an OAM packet. | ||||
| When N receives a packet destined to S and S is a local End.OTP SID, | ||||
| N does: | ||||
| 1. Timestamp the packet ;; Ref1 | ||||
| 2. Punt the packet to CPU for SW processing (slow-path) ;; Ref2 | ||||
| Ref1: Timestamping is done ASAP at the ingress pipeline (in | ||||
| hardware). A timestamped packet is locally punted, timestamp value | ||||
| can be carried in local packet header. | ||||
| Ref2: Hardware (microcode) only punts the packet. There is no | [I-D.ali-spring-srv6-oam] defines the OAM behavior for SRv6. This | |||
| requirement for the hardware to manipulate any TLV in the SRH (or | includes the definition of the SRH Flag 'O-bit', as well as | |||
| elsewhere). Software (slow path) implements the required OAM | additional OAM Endpoint functions. | |||
| mechanisms. | ||||
| 7. Basic security for intra-domain deployment | 7. Basic security for intra-domain deployment | |||
| We use the following terminology: | We use the following terminology: | |||
| An internal node is a node part of the domain of trust. | An internal node is a node part of the domain of trust. | |||
| A border router is an internal node at the edge of the domain of | A border router is an internal node at the edge of the domain of | |||
| trust. | trust. | |||
| skipping to change at page 31, line 24 ¶ | skipping to change at page 29, line 24 ¶ | |||
| | End.DT2M | | X | X | | | End.DT2M | | X | X | | |||
| | End.DX6 | X | X | X | | | End.DX6 | X | X | X | | |||
| | End.DX4 | | X | X | | | End.DX4 | | X | X | | |||
| | End.DT6 | X | X | X | | | End.DT6 | X | X | X | | |||
| | End.DT4 | | X | X | | | End.DT4 | | X | X | | |||
| | End.DT46 | | X | X | | | End.DT46 | | X | X | | |||
| | End.B6 | | X | | | | End.B6 | | X | | | |||
| | End.B6.Encaps | | X | | | | End.B6.Encaps | | X | | | |||
| | End.B6.BM | | X | | | | End.B6.BM | | X | | | |||
| | End.S | | X | | | | End.S | | X | | | |||
| | End.OTP | X | X | X | | ||||
| +------------------+-----+--------+------------+ | +------------------+-----+--------+------------+ | |||
| Table 1: SRv6 LocalSID signaling | Table 1: SRv6 LocalSID signaling | |||
| The following table summarizes which transit capability would be | The following table summarizes which transit capability would be | |||
| signaled in which signaling protocol. | signaled in which signaling protocol. | |||
| +-------------+-----+--------+------------+ | +-------------+-----+--------+------------+ | |||
| | | IGP | BGP-LS | BGP IP/VPN | | | | IGP | BGP-LS | BGP IP/VPN | | |||
| +-------------+-----+--------+------------+ | +-------------+-----+--------+------------+ | |||
| skipping to change at page 42, line 47 ¶ | skipping to change at page 40, line 47 ¶ | |||
| Node 7 would send the following packet to 8: (A1::, A8::D100) | Node 7 would send the following packet to 8: (A1::, A8::D100) | |||
| 9.9. End-to-End policy with intermediate BSID | 9.9. End-to-End policy with intermediate BSID | |||
| Let us now describe a case where the ingress VPN edge node steers the | Let us now describe a case where the ingress VPN edge node steers the | |||
| packet destined to 20.20.20.20 towards the egress edge node connected | packet destined to 20.20.20.20 towards the egress edge node connected | |||
| to the tenant100 site with 20/8, but via an intermediate SR Policy | to the tenant100 site with 20/8, but via an intermediate SR Policy | |||
| represented by a single routable Binding SID. Let us illustrate this | represented by a single routable Binding SID. Let us illustrate this | |||
| case with an intermediate policy which both encodes underlay | case with an intermediate policy which both encodes underlay | |||
| optimization for low-latency and the service chaining via two SR- | optimization for low-latency and the service programming via two SR- | |||
| aware container-based apps. | aware container-based apps. | |||
| Let us assume that the End.B6 SID A2::B1 is configured at node 2 and | Let us assume that the End.B6 SID A2::B1 is configured at node 2 and | |||
| is associated with midpoint T.Insert policy <A4::C5, A9::A1, A6::A2>. | is associated with midpoint T.Insert policy <A4::C5, A9::A1, A6::A2>. | |||
| A4::C5 realizes the low-latency path from the ingress PE to the | A4::C5 realizes the low-latency path from the ingress PE to the | |||
| egress PE. This is the underlay optimization part of the | egress PE. This is the underlay optimization part of the | |||
| intermediate policy. | intermediate policy. | |||
| A9::A1 and A6::A2 represent two SR-aware NFV applications residing in | A9::A1 and A6::A2 represent two SR-aware NFV applications residing in | |||
| skipping to change at page 44, line 26 ¶ | skipping to change at page 42, line 26 ¶ | |||
| Node 4 then sends the following modified packets to 5: | Node 4 then sends the following modified packets to 5: | |||
| P1: (A1::, A7::1) | P1: (A1::, A7::1) | |||
| P2: (A1::, A7::1)(A8::D100, A7::1; SL=1) | P2: (A1::, A7::1)(A8::D100, A7::1; SL=1) | |||
| Then these packets follow the rest of their post-convergence path | Then these packets follow the rest of their post-convergence path | |||
| towards node 7 and then go to node 8 for the VPN decaps. | towards node 7 and then go to node 8 for the VPN decaps. | |||
| 9.11. SR TE for Service chaining | 9.11. SR TE for Service programming | |||
| We have illustrated the service chaining through SR-aware apps in a | We have illustrated the service programming through SR-aware apps in | |||
| previous section. | a previous section. | |||
| We illustrate the use of End.AS function | We illustrate the use of End.AS function | |||
| [I-D.xu-clad-spring-sr-service-chaining] to service chain an IP flow | [I-D.xuclad-spring-sr-service-programming] to service chain an IP | |||
| bound to the internet through two SR-unaware applications hosted in | flow bound to the internet through two SR-unaware applications hosted | |||
| containers. | in containers. | |||
| Let us assume that servers 20 and 70 are respectively connected to | Let us assume that servers 20 and 70 are respectively connected to | |||
| nodes 2 and 7. They are respectively configured with SID spaces | nodes 2 and 7. They are respectively configured with SID spaces | |||
| A020::/40 and A070::/40. Their connected routers advertise the | A020::/40 and A070::/40. Their connected routers advertise the | |||
| related prefixes in the IGP. Two SR-unaware container-based | related prefixes in the IGP. Two SR-unaware container-based | |||
| applications App2 and App7 are respectively hosted on server 20 and | applications App2 and App7 are respectively hosted on server 20 and | |||
| 70. Server 20 (70) is configured explicitly with an End.AS SID | 70. Server 20 (70) is configured explicitly with an End.AS SID | |||
| A020::2 for App2 (A070::7 for App7). | A020::2 for App2 (A070::7 for App7). | |||
| Let us assume a broadband customer with a home gateway CE-A connected | Let us assume a broadband customer with a home gateway CE-A connected | |||
| skipping to change at page 45, line 32 ¶ | skipping to change at page 43, line 32 ¶ | |||
| outer IPv6 header with SRH (A1::0, A8::D0)(A8::D0, A070::7, A020::2; | outer IPv6 header with SRH (A1::0, A8::D0)(A8::D0, A070::7, A020::2; | |||
| SL=0; NH=4) and sends the (whole) IPv6 packet with the encapsulated | SL=0; NH=4) and sends the (whole) IPv6 packet with the encapsulated | |||
| IPv4 packet back to 7. | IPv4 packet back to 7. | |||
| 7 forwards to 8. | 7 forwards to 8. | |||
| 8 receives (A1::0, A8::D0)(A8::D0, A070::7, A020::2; SL=0; NH=4)(X, | 8 receives (A1::0, A8::D0)(A8::D0, A070::7, A020::2; SL=0; NH=4)(X, | |||
| Y) and performs the End.DT4 function and sends the IP packet (X, Y) | Y) and performs the End.DT4 function and sends the IP packet (X, Y) | |||
| towards its internet destination. | towards its internet destination. | |||
| 9.12. OAM | ||||
| This section illustrates the use of O-bit and End.OTP SID by | ||||
| describing the ping use-case. | ||||
| 9.12.1. Ping to a SID function | ||||
| Consider the case where the user wants to ping a remote SID function | ||||
| A8::DC4B, via A4::C5, from node 1. Node 1 constructs the ping packet | ||||
| (B1::0, A4::C5)(A8::DC4B, A4::C5, SL=1; NH=ICMPv6)(ICMPv6 Echo | ||||
| Request). When node 8 receives the ICMPv6 echo request with DA set | ||||
| to A8::DC4B and next header set to ICMPv6, it silently drops it (see | ||||
| security section for details). To solve this problem, the initiator | ||||
| needs to mark the ICMPv6 echo request as an OAM packet. The OAM | ||||
| packets are identified either by setting the O-bit in the SRH or by | ||||
| inserting an End.OTP SID at the appropriate place in the SRH. | ||||
| 9.12.2. End-to-end ping using End.OTP | ||||
| Consider the same example where the user wants to ping a remote SID | ||||
| function A8::DC4B , via A4::C5, from node 1. To force a punt of the | ||||
| ICMPv6 echo request at the node 8, node 1 inserts the End.OTP SID | ||||
| just before the target SID A8::DC4B in the SRH, i.e., packet as it | ||||
| leaves node 1 looks like (B1::0, A4::C5)(A8::DC4B, A8::OTP, A4::C5; | ||||
| SL=2; NH=ICMPv6)(ICMPv6 Echo Request). | ||||
| When the node 8 receives the packet (B1::0, A8::OTP)(A8::DC4B, | ||||
| A8::OTP, A4::C5 ; SL=1; NH=ICMPv6)(ICMPv6 Echo Request), it processes | ||||
| the End.OTP SID. The packet gets punted to ICMPv6 process for | ||||
| processing. The ICMPv6 process checks if the next SID in SRH (target | ||||
| SID A8::DC4B) is locally programmed or not and responds to the ICMPv6 | ||||
| Echo Request, accordingly. | ||||
| 9.12.3. Segment-by-segment ping using the O-bit | ||||
| Consider the same example where the user wants to ping a remote SID | ||||
| function A8::DC4B, via A4::C5, from node 1. However, in this ping, | ||||
| the node1 wants to get a response from each segment node in the SRH. | ||||
| In other words, in the segment-by-segment ping case, the node 1 | ||||
| expects a response from node 4 and node 8 for their respective local | ||||
| SID function. | ||||
| To force a punt of the ICMPv6 echo request at node 4 and node 8, node | ||||
| 1 sets the O-bit in the SRH. The packet, as it leaves node 1, looks | ||||
| like (B1::0, A4::C5)(A8::DC4B, A4::C5; SL=1, Flags.O=1; | ||||
| NH=ICMPv6)(ICMPv6 Echo Request). | ||||
| When the node 4 receives the packet (B1::0, A4::C5)(A8::DC4B, A4::C5; | ||||
| SL=1, Flags.O=1; NH=ICMPv6)(ICMPv6 Echo Request) packet a time- | ||||
| stamped copy of the packet gets punted to the ICMPv6 process for | ||||
| processing. Node 4 continues to apply the A4::C5 SID function on the | ||||
| original packet and forwards it, accordingly. As SRH.Flags.O=1, | ||||
| Node4 also disables the PSP flavour, i.e., does not remove the SRH. | ||||
| The ICMPv6 process at node4 checks if its local SID (A4::C5) is | ||||
| locally programmed or not and responds to the ICMPv6 Echo Request, | ||||
| accordingly. Please note that if node 4 does not support the O-bit, | ||||
| it simply ignores it and process the local SID, A4::C5. | ||||
| When the node 8 receives the packet (B1::0, A8::DC4B)(A8::DC4B, | ||||
| A4::C5; SL=0, Flags.O=1; NH=ICMPv6)(ICMPv6 Echo Request), it | ||||
| processes the O-bit in SRH. A time-stamped copy of the packet gets | ||||
| punted to the ICMPv6 process for processing. The ICMPv6 process at | ||||
| node 8 checks if its local SID (A8::DC4B) is locally programmed or | ||||
| not and responds to the ICMPv6 Echo Request, accordingly. | ||||
| Support for the O-bit is part of the node capability advertisement. | ||||
| That enables node 1 to know which segment nodes are capable of | ||||
| responding to the ICMPv6 echo request. | ||||
| 10. Benefits | 10. Benefits | |||
| 10.1. Seamless deployment | 10.1. Seamless deployment | |||
| The VPN use-case can be realized with SRv6 capability deployed solely | The VPN use-case can be realized with SRv6 capability deployed solely | |||
| at the ingress and egress PE's. | at the ingress and egress PE's. | |||
| All the nodes in between these PE's act as transit routers as per | All the nodes in between these PE's act as transit routers as per | |||
| [RFC8200]. No software/hardware upgrade is required on all these | [RFC8200]. No software/hardware upgrade is required on all these | |||
| nodes. They just need to support IPv6 per [RFC8200]. | nodes. They just need to support IPv6 per [RFC8200]. | |||
| skipping to change at page 47, line 48 ¶ | skipping to change at page 44, line 22 ¶ | |||
| free and does not depend on the presence of any remote SRv6 SID. | free and does not depend on the presence of any remote SRv6 SID. | |||
| In the vast majority of cases, a single segment is enough to | In the vast majority of cases, a single segment is enough to | |||
| encode the post-convergence path in a loop-free manner. If the | encode the post-convergence path in a loop-free manner. If the | |||
| required segment is available (that node has been upgraded) then | required segment is available (that node has been upgraded) then | |||
| the related back-up path is installed in FIB, else the pre- | the related back-up path is installed in FIB, else the pre- | |||
| existing situation (no backup) continues. Hence, as the SRv6 | existing situation (no backup) continues. Hence, as the SRv6 | |||
| deployment progresses, the coverage incrementally increases. | deployment progresses, the coverage incrementally increases. | |||
| Eventually, when the core network is SRv6 capable, the TI-LFA | Eventually, when the core network is SRv6 capable, the TI-LFA | |||
| coverage is complete. | coverage is complete. | |||
| The service chaining use-case can be realized with SRv6 capability | The service programming use-case can be realized with SRv6 capability | |||
| deployed at few strategic nodes. | deployed at few strategic nodes. | |||
| The service-chaining deployment is again incremental and does not | The service-programming deployment is again incremental and does | |||
| require any pre-deployment of SRv6 in the network. When an NFV | not require any pre-deployment of SRv6 in the network. When an | |||
| app A1 needs to be enabled for inclusion in an SRv6 service chain, | NFV app A1 needs to be enabled for inclusion in an SRv6 service | |||
| all what is required is to install that app in a container or VM | chain, all what is required is to install that app in a container | |||
| on an SRv6-capable server (Linux 4.10 or FD.io 17.04 release). | or VM on an SRv6-capable server (Linux 4.10 or FD.io 17.04 | |||
| The app can either be SR-aware or not, leveraging the proxy | release). The app can either be SR-aware or not, leveraging the | |||
| functions described in this document. | proxy functions described in this document. | |||
| By leveraging the various END functions it can also be used to | By leveraging the various END functions it can also be used to | |||
| support any current PNF/VNF implementations and their forwarding | support any current PNF/VNF implementations and their forwarding | |||
| methods (e.g. Layer 2). | methods (e.g. Layer 2). | |||
| The ability to leverage SR TE policies and BSIDs also permits | The ability to leverage SR TE policies and BSIDs also permits | |||
| building scalable, hierarchical service-chains. | building scalable, hierarchical service-chains. | |||
| 10.2. Integration | 10.2. Integration | |||
| The SRv6 network programming concept allows integrating all the | The SRv6 network programming concept allows integrating all the | |||
| application and service requirements: multi-domain underlay SLA | application and service requirements: multi-domain underlay SLA | |||
| optimization with scale, overlay VPN/Tenant, sub-50msec automated | optimization with scale, overlay VPN/Tenant, sub-50msec automated | |||
| FRR, security and service chaining. | FRR, security and service programming. | |||
| 10.3. Security | 10.3. Security | |||
| The combination of well-known techniques (SEC1, SEC2, SEC4) and | The combination of well-known techniques (SEC1, SEC2, SEC4) and | |||
| carefully chosen architectural rules (SEC3) ensure a secure | carefully chosen architectural rules (SEC3) ensure a secure | |||
| deployment of SRv6 inside a multi-domain network managed by a single | deployment of SRv6 inside a multi-domain network managed by a single | |||
| organization. | organization. | |||
| Inter-domain security will be described in a companion document. | Inter-domain security will be described in a companion document. | |||
| skipping to change at page 50, line 32 ¶ | skipping to change at page 46, line 32 ¶ | |||
| | 15 | 0x000F | End.BM | [This.ID] | | | 15 | 0x000F | End.BM | [This.ID] | | |||
| | 16 | 0x0010 | End.DX6 | [This.ID] | | | 16 | 0x0010 | End.DX6 | [This.ID] | | |||
| | 17 | 0x0011 | End.DX4 | [This.ID] | | | 17 | 0x0011 | End.DX4 | [This.ID] | | |||
| | 18 | 0x0012 | End.DT6 | [This.ID] | | | 18 | 0x0012 | End.DT6 | [This.ID] | | |||
| | 19 | 0x0013 | End.DT4 | [This.ID] | | | 19 | 0x0013 | End.DT4 | [This.ID] | | |||
| | 20 | 0x0014 | End.DT46 | [This.ID] | | | 20 | 0x0014 | End.DT46 | [This.ID] | | |||
| | 21 | 0x0015 | End.DX2 | [This.ID] | | | 21 | 0x0015 | End.DX2 | [This.ID] | | |||
| | 22 | 0x0016 | End.DX2V | [This.ID] | | | 22 | 0x0016 | End.DX2V | [This.ID] | | |||
| | 23 | 0x0017 | End.DT2U | [This.ID] | | | 23 | 0x0017 | End.DT2U | [This.ID] | | |||
| | 24 | 0x0018 | End.DT2M | [This.ID] | | | 24 | 0x0018 | End.DT2M | [This.ID] | | |||
| | 25 | 0x0019 | End.OTP | [This.ID] | | | 25 | 0x0019 | End.S | [This.ID] | | |||
| | 26 | 0x001A | End.S | [This.ID] | | | 26 | 0x001A | End.B6.Red | [This.ID] | | |||
| | 27 | 0x001B | End.B6.Encaps.Red | [This.ID] | | ||||
| +-------+--------+------------------------+-----------+ | +-------+--------+------------------------+-----------+ | |||
| Table 4: SRv6 Endpoint Types | Table 4: SRv6 Endpoint Types | |||
| 12. Work in progress | 12. Work in progress | |||
| We are working on a extension of this document to provide Yang | We are working on a extension of this document to provide Yang | |||
| modelling for all the functionality described in this document. This | modelling for all the functionality described in this document. This | |||
| work is ongoing in [I-D.raza-spring-srv6-yang]. | work is ongoing in [I-D.raza-spring-srv6-yang]. | |||
| 13. Acknowledgements | 13. Acknowledgements | |||
| TBD. | The authors would like to acknowledge Stefano Previdi, Dave Barach, | |||
| Mark Townsley, Peter Psenak, Paul Wells, Robert Hanzl, Dan Ye, Gaurav | ||||
| Dawra, Faisal Iqbal, Jaganbabu Rajamanickam, David Toscano, Asif | ||||
| Islam, Jianda Liu, Yunpeng Zhang, Jiaoming Li, Narendra A.K, Mike Mc | ||||
| Gourty, Bhupendra Yadav, Sherif Toulan, Satish Damodaran, John | ||||
| Bettink, Kishore Nandyala Veera Venk, Jisu Bhattacharya and Saleem | ||||
| Hafeez. | ||||
| 14. Contributors | 14. Contributors | |||
| Stefano Previdi, Dave Barach, Mark Townsley, Peter Psenak, Paul | ||||
| Wells, Robert Hanzl, Dan Ye, Patrice Brissette, Gaurav Dawra, Faisal | ||||
| Iqbal, Zafar Ali, Jaganbabu Rajamanickam, David Toscano, Asif Islam, | ||||
| Jianda Liu, Yunpeng Zhang, Jiaoming Li, Narendra A.K, Mike Mc Gourty, | ||||
| Bhupendra Yadav, Sherif Toulan, Satish Damodaran, John Bettink, | ||||
| Kishore Nandyala Veera Venk, Jisu Bhattacharya and Saleem Hafeez | ||||
| substantially contributed to the content of this document. | ||||
| 15. References | ||||
| 15.1. Normative References | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, | ||||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <https://www.rfc-editor.org/info/rfc2119>. | ||||
| 15.2. Informative References | ||||
| [I-D.bashandy-isis-srv6-extensions] | ||||
| Ginsberg, L., Bashandy, A., Filsfils, C., and B. Decraene, | ||||
| "IS-IS Extensions to Support Routing over IPv6 Dataplane", | ||||
| draft-bashandy-isis-srv6-extensions-01 (work in progress), | ||||
| September 2017. | ||||
| [I-D.dawra-idr-srv6-vpn] | ||||
| Dawra, G., Filsfils, C., Dukes, D., Brissette, P., | ||||
| Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., | ||||
| daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R., | ||||
| Decraene, B., and S. Matsushima, "BGP Signaling of IPv6- | ||||
| Segment-Routing-based VPN Networks", draft-dawra-idr- | ||||
| srv6-vpn-03 (work in progress), December 2017. | ||||
| [I-D.filsfils-spring-segment-routing-policy] | ||||
| Filsfils, C., Sivabalan, S., Raza, K., Liste, J., Clad, | ||||
| F., Talaulikar, K., Ali, Z., Hegde, S., | ||||
| daniel.voyer@bell.ca, d., Lin, S., bogdanov@google.com, | ||||
| b., Krol, P., Horneffer, M., Steinberg, D., Decraene, B., | ||||
| Litkowski, S., and P. Mattes, "Segment Routing Policy for | ||||
| Traffic Engineering", draft-filsfils-spring-segment- | ||||
| routing-policy-05 (work in progress), February 2018. | ||||
| [I-D.ietf-6man-segment-routing-header] | ||||
| Previdi, S., Filsfils, C., Raza, K., Dukes, D., Leddy, J., | ||||
| Field, B., daniel.voyer@bell.ca, d., | ||||
| daniel.bernier@bell.ca, d., Matsushima, S., Leung, I., | ||||
| Linkova, J., Aries, E., Kosugi, T., Vyncke, E., Lebrun, | ||||
| D., Steinberg, D., and R. Raszuk, "IPv6 Segment Routing | ||||
| Header (SRH)", draft-ietf-6man-segment-routing-header-08 | ||||
| (work in progress), January 2018. | ||||
| [I-D.ietf-idr-bgp-ls-segment-routing-ext] | ||||
| Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., | ||||
| and M. Chen, "BGP Link-State extensions for Segment | ||||
| Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-04 | ||||
| (work in progress), January 2018. | ||||
| [I-D.ietf-idr-te-lsp-distribution] | ||||
| Previdi, S., Dong, J., Chen, M., Gredler, H., and J. | ||||
| Tantsura, "Distribution of Traffic Engineering (TE) | ||||
| Policies and State using BGP-LS", draft-ietf-idr-te-lsp- | ||||
| distribution-08 (work in progress), December 2017. | ||||
| [I-D.ietf-isis-l2bundles] | ||||
| Ginsberg, L., Bashandy, A., Filsfils, C., Nanduri, M., and | ||||
| E. Aries, "Advertising L2 Bundle Member Link Attributes in | ||||
| IS-IS", draft-ietf-isis-l2bundles-07 (work in progress), | ||||
| May 2017. | ||||
| [I-D.ietf-spring-segment-routing] | ||||
| Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | ||||
| Litkowski, S., and R. Shakir, "Segment Routing | ||||
| Architecture", draft-ietf-spring-segment-routing-15 (work | ||||
| in progress), January 2018. | ||||
| [I-D.raza-spring-srv6-yang] | ||||
| Raza, K., Rajamanickam, J., Liu, X., Hussain, I., Shah, | ||||
| H., Voyer, D., Elmalky, H., and A. Abdelsalam, "YANG Data | ||||
| Model for SRv6", draft-raza-spring-srv6-yang-00 (work in | ||||
| progress), November 2017. | ||||
| [I-D.xu-clad-spring-sr-service-chaining] | ||||
| Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | ||||
| d., Decraene, B., Yadlapalli, C., Henderickx, W., Salsano, | ||||
| S., and S. Ma, "Segment Routing for Service Chaining", | ||||
| draft-xu-clad-spring-sr-service-chaining-00 (work in | ||||
| progress), December 2017. | ||||
| [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in | ||||
| IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, | ||||
| December 1998, <https://www.rfc-editor.org/info/rfc2473>. | ||||
| [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | ||||
| Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | ||||
| 2006, <https://www.rfc-editor.org/info/rfc4364>. | ||||
| [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, | ||||
| "IPv6 Flow Label Specification", RFC 6437, | ||||
| DOI 10.17487/RFC6437, November 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6437>. | ||||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | ||||
| (IPv6) Specification", STD 86, RFC 8200, | ||||
| DOI 10.17487/RFC8200, July 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8200>. | ||||
| Appendix A. Additional Contributors | ||||
| Patrice Brissete | ||||
| Cisco Systems, Inc. | ||||
| Canada | ||||
| Email: pbrisset@cisco.com | ||||
| Zafar Ali | ||||
| Cisco Systems, Inc. | ||||
| United States of America | ||||
| Email: zali@cisco.com | ||||
| Ahmed AbdelSalam | ||||
| Gran Sasso Science Institute | ||||
| Italy | ||||
| Email: ahmed.abdelsalam@gssi.it | ||||
| Authors' Addresses | ||||
| Clarence Filsfils | ||||
| Cisco Systems, Inc. | ||||
| Belgium | ||||
| Email: cf@cisco.com | ||||
| Zhenbin Li | ||||
| Huawei Technologies | ||||
| China | ||||
| Email: lizhenbin@huawei.com | ||||
| John Leddy | ||||
| Comcast | ||||
| United States of America | ||||
| Email: john_leddy@cable.comcast.com | ||||
| Daniel Voyer | ||||
| Bell Canada | ||||
| Canada | ||||
| Email: daniel.voyer@bell.ca | ||||
| Daniel Bernier | Daniel Bernier | |||
| Bell Canada | Bell Canada | |||
| Canada | Canada | |||
| Email: daniel.bernier@bell.ca | Email: daniel.bernier@bell.ca | |||
| Dirk Steinberg | Dirk Steinberg | |||
| Steinberg Consulting | Steinberg Consulting | |||
| Germany | Germany | |||
| Email: dws@dirksteinberg.de | Email: dws@dirksteinberg.de | |||
| Robert Raszuk | Robert Raszuk | |||
| Bloomberg LP | Bloomberg LP | |||
| United States of America | United States of America | |||
| Email: robert@raszuk.net | Email: robert@raszuk.net | |||
| Satoru Matsushima | ||||
| SoftBank | ||||
| 1-9-1,Higashi-Shimbashi,Minato-Ku | ||||
| Tokyo 105-7322 | ||||
| Japan | ||||
| Email: satoru.matsushima@g.softbank.co.jp | ||||
| David Lebrun | ||||
| Universite catholique de Louvain | ||||
| Belgium | ||||
| Email: david.lebrun@uclouvain.be | ||||
| Bruno Decraene | Bruno Decraene | |||
| Orange | Orange | |||
| France | Frence | |||
| Email: bruno.decraene@orange.com | Email: bruno.decraene@orange.com | |||
| Bart Peirens | Bart Peirens | |||
| Proximus | Proximus | |||
| Belgium | Belgium | |||
| Email: bart.peirens@proximus.com | Email: bart.peirens@proximus.com | |||
| Stefano Salsano | ||||
| Universita di Roma "Tor Vergata" | ||||
| Italy | ||||
| Email: stefano.salsano@uniroma2.it | ||||
| Gaurav Naik | ||||
| Drexel University | ||||
| United States of America | ||||
| Email: gn@drexel.edu | ||||
| Hani Elmalky | Hani Elmalky | |||
| Ericsson | Ericsson | |||
| United States of America | United States of America | |||
| Email: hani.elmalky@gmail.com | Email: hani.elmalky@gmail.com | |||
| Prem Jonnalagadda | Prem Jonnalagadda | |||
| Barefoot Networks | Barefoot Networks | |||
| United States of America | United States of America | |||
| skipping to change at page 56, line 4 ¶ | skipping to change at page 47, line 50 ¶ | |||
| Ericsson | Ericsson | |||
| United States of America | United States of America | |||
| Email: hani.elmalky@gmail.com | Email: hani.elmalky@gmail.com | |||
| Prem Jonnalagadda | Prem Jonnalagadda | |||
| Barefoot Networks | Barefoot Networks | |||
| United States of America | United States of America | |||
| Email: prem@barefootnetworks.com | Email: prem@barefootnetworks.com | |||
| Milad Sharif | Milad Sharif | |||
| Barefoot Networks | Barefoot Networks | |||
| United States of America | United States of America | |||
| Email: msharif@barefootnetworks.com | Email: msharif@barefootnetworks.com | |||
| David Lebrun | ||||
| Universite catholique de Louvain | ||||
| Belgium | ||||
| Email: david.lebrun@uclouvain.be | ||||
| Stefano Salsano | ||||
| Universita di Roma "Tor Vergata" | ||||
| Italy | ||||
| Email: stefano.salsano@uniroma2.it | ||||
| Ahmed AbdelSalam | ||||
| Gran Sasso Science Institute | ||||
| Italy | ||||
| Email: ahmed.abdelsalam@gssi.it | ||||
| Gaurav Naik | ||||
| Drexel University | ||||
| United States of America | ||||
| Email: gn@drexel.edu | ||||
| Arthi Ayyangar | Arthi Ayyangar | |||
| Arista | Arista | |||
| United States of America | United States of America | |||
| Email: arthi@arista.com | Email: arthi@arista.com | |||
| Satish Mynam | Satish Mynam | |||
| Innovium Inc. | Innovium Inc. | |||
| United States of America | United States of America | |||
| skipping to change at page 56, line 35 ¶ | skipping to change at page 49, line 10 ¶ | |||
| Email: wim.henderickx@nokia.com | Email: wim.henderickx@nokia.com | |||
| Shaowen Ma | Shaowen Ma | |||
| Juniper | Juniper | |||
| Singapore | Singapore | |||
| Email: mashao@juniper.net | Email: mashao@juniper.net | |||
| Ahmed Bashandy | Ahmed Bashandy | |||
| Cisco Systems, Inc. | Individual | |||
| United States of America | United States of America | |||
| Email: bashandy@cisco.com | Email: abashandy.ietf@gmail.com | |||
| Francois Clad | ||||
| Cisco Systems, Inc. | ||||
| France | ||||
| Email: fclad@cisco.com | ||||
| Kamran Raza | Kamran Raza | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Canada | Canada | |||
| Email: skraza@cisco.com | Email: skraza@cisco.com | |||
| Darren Dukes | Darren Dukes | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Canada | Canada | |||
| Email: ddukes@cisco.com | Email: ddukes@cisco.com | |||
| Francois Clad | Patrice Brissete | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| France | Canada | |||
| Email: fclad@cisco.com | Email: pbrisset@cisco.com | |||
| Zafar Ali | ||||
| Cisco Systems, Inc. | ||||
| United States of America | ||||
| Email: zali@cisco.com | ||||
| 15. References | ||||
| 15.1. Normative References | ||||
| [I-D.ali-spring-srv6-oam] | ||||
| Ali, Z., Filsfils, C., Kumar, N., Pignataro, C., | ||||
| faiqbal@cisco.com, f., Gandhi, R., Leddy, J., Matsushima, | ||||
| S., Raszuk, R., Peirens, B., and G. Naik, "Operations, | ||||
| Administration, and Maintenance (OAM) in Segment Routing | ||||
| Networks with IPv6 Data plane (SRv6)", draft-ali-spring- | ||||
| srv6-oam-00 (work in progress), February 2018. | ||||
| [I-D.ietf-6man-segment-routing-header] | ||||
| Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and | ||||
| d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | ||||
| (SRH)", draft-ietf-6man-segment-routing-header-14 (work in | ||||
| progress), June 2018. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, | ||||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <https://www.rfc-editor.org/info/rfc2119>. | ||||
| 15.2. Informative References | ||||
| [I-D.bashandy-isis-srv6-extensions] | ||||
| Ginsberg, L., Psenak, P., Filsfils, C., Bashandy, A., | ||||
| Decraene, B., and Z. Hu, "IS-IS Extensions to Support | ||||
| Routing over IPv6 Dataplane", draft-bashandy-isis- | ||||
| srv6-extensions-03 (work in progress), June 2018. | ||||
| [I-D.dawra-idr-srv6-vpn] | ||||
| Dawra, G., Filsfils, C., Dukes, D., Brissette, P., | ||||
| Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., | ||||
| daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R., | ||||
| Decraene, B., Matsushima, S., and S. Zhuang, "BGP | ||||
| Signaling of IPv6-Segment-Routing-based VPN Networks", | ||||
| draft-dawra-idr-srv6-vpn-04 (work in progress), June 2018. | ||||
| [I-D.filsfils-spring-segment-routing-policy] | ||||
| Filsfils, C., Sivabalan, S., Hegde, S., | ||||
| daniel.voyer@bell.ca, d., Lin, S., bogdanov@google.com, | ||||
| b., Krol, P., Horneffer, M., Steinberg, D., Decraene, B., | ||||
| Litkowski, S., Mattes, P., Ali, Z., Talaulikar, K., Liste, | ||||
| J., Clad, F., and K. Raza, "Segment Routing Policy | ||||
| Architecture", draft-filsfils-spring-segment-routing- | ||||
| policy-06 (work in progress), May 2018. | ||||
| [I-D.ietf-idr-bgp-ls-segment-routing-ext] | ||||
| Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., | ||||
| and M. Chen, "BGP Link-State extensions for Segment | ||||
| Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-08 | ||||
| (work in progress), May 2018. | ||||
| [I-D.ietf-idr-te-lsp-distribution] | ||||
| Previdi, S., Talaulikar, K., Dong, J., Chen, M., Gredler, | ||||
| H., and J. Tantsura, "Distribution of Traffic Engineering | ||||
| (TE) Policies and State using BGP-LS", draft-ietf-idr-te- | ||||
| lsp-distribution-09 (work in progress), June 2018. | ||||
| [I-D.ietf-isis-l2bundles] | ||||
| Ginsberg, L., Bashandy, A., Filsfils, C., Nanduri, M., and | ||||
| E. Aries, "Advertising L2 Bundle Member Link Attributes in | ||||
| IS-IS", draft-ietf-isis-l2bundles-07 (work in progress), | ||||
| May 2017. | ||||
| [I-D.ietf-spring-segment-routing] | ||||
| Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | ||||
| Litkowski, S., and R. Shakir, "Segment Routing | ||||
| Architecture", draft-ietf-spring-segment-routing-15 (work | ||||
| in progress), January 2018. | ||||
| [I-D.raza-spring-srv6-yang] | ||||
| Raza, K., Rajamanickam, J., Liu, X., Hu, Z., Hussain, I., | ||||
| Shah, H., daniel.voyer@bell.ca, d., Elmalky, H., | ||||
| Matsushima, S., Horiba, K., and A. Abdelsalam, "YANG Data | ||||
| Model for SRv6 Base and Static", draft-raza-spring- | ||||
| srv6-yang-01 (work in progress), March 2018. | ||||
| [I-D.xuclad-spring-sr-service-programming] | ||||
| Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C., | ||||
| Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and | ||||
| S. Salsano, "Service Programming with Segment Routing", | ||||
| draft-xuclad-spring-sr-service-programming-00 (work in | ||||
| progress), July 2018. | ||||
| [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in | ||||
| IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, | ||||
| December 1998, <https://www.rfc-editor.org/info/rfc2473>. | ||||
| [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | ||||
| Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | ||||
| 2006, <https://www.rfc-editor.org/info/rfc4364>. | ||||
| [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, | ||||
| "IPv6 Flow Label Specification", RFC 6437, | ||||
| DOI 10.17487/RFC6437, November 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6437>. | ||||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | ||||
| (IPv6) Specification", STD 86, RFC 8200, | ||||
| DOI 10.17487/RFC8200, July 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8200>. | ||||
| Authors' Addresses | ||||
| Clarence Filsfils | ||||
| Cisco Systems, Inc. | ||||
| Belgium | ||||
| Email: cf@cisco.com | ||||
| Pablo Camarillo Garvia (editor) | Pablo Camarillo Garvia (editor) | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Spain | Spain | |||
| Email: pcamaril@cisco.com | Email: pcamaril@cisco.com | |||
| John Leddy | ||||
| Comcast | ||||
| United States of America | ||||
| Email: john_leddy@cable.comcast.com | ||||
| Daniel Voyer | ||||
| Bell Canada | ||||
| Canada | ||||
| Email: daniel.voyer@bell.ca | ||||
| Satoru Matsushima | ||||
| SoftBank | ||||
| 1-9-1,Higashi-Shimbashi,Minato-Ku | ||||
| Tokyo 105-7322 | ||||
| Japan | ||||
| Email: satoru.matsushima@g.softbank.co.jp | ||||
| Zhenbin Li | ||||
| Huawei Technologies | ||||
| China | ||||
| Email: lizhenbin@huawei.com | ||||
| End of changes. 58 change blocks. | ||||
| 455 lines changed or deleted | 296 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/ | ||||