| < draft-ietf-idr-segment-routing-te-policy-13.txt | draft-ietf-idr-segment-routing-te-policy-14.txt > | |||
|---|---|---|---|---|
| Network Working Group S. Previdi | Network Working Group S. Previdi | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: December 9, 2021 K. Talaulikar, Ed. | Expires: May 14, 2022 K. Talaulikar, Ed. | |||
| Cisco Systems | Cisco Systems | |||
| P. Mattes | P. Mattes | |||
| Microsoft | Microsoft | |||
| E. Rosen | ||||
| Juniper Networks | ||||
| D. Jain | D. Jain | |||
| S. Lin | S. Lin | |||
| June 7, 2021 | November 10, 2021 | |||
| Advertising Segment Routing Policies in BGP | Advertising Segment Routing Policies in BGP | |||
| draft-ietf-idr-segment-routing-te-policy-13 | draft-ietf-idr-segment-routing-te-policy-14 | |||
| Abstract | Abstract | |||
| This document defines a new BGP SAFI with a new NLRI to advertise a | This document defines a new BGP SAFI with a new NLRI to advertise a | |||
| candidate path of a Segment Routing (SR) Policy. An SR Policy is a | candidate path of a Segment Routing (SR) Policy. An SR Policy is a | |||
| set of candidate paths, each consisting of one or more segment lists. | set of candidate paths, each consisting of one or more segment lists. | |||
| The headend of an SR Policy may learn multiple candidate paths for an | The headend of an SR Policy may learn multiple candidate paths for an | |||
| SR Policy. Candidate paths may be learned via several different | SR Policy. Candidate paths may be learned via several different | |||
| mechanisms, e.g., CLI, NetConf, PCEP, or BGP. This document | mechanisms, e.g., CLI, NetConf, PCEP, or BGP. This document | |||
| specifies how BGP may be used to distribute SR Policy candidate | specifies how BGP may be used to distribute SR Policy candidate | |||
| skipping to change at page 1, line 47 ¶ | 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 December 9, 2021. | This Internet-Draft will expire on May 14, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | |||
| 2. SR Policy Encoding . . . . . . . . . . . . . . . . . . . . . 5 | 2. SR Policy Encoding . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.1. SR Policy SAFI and NLRI . . . . . . . . . . . . . . . . . 5 | 2.1. SR Policy SAFI and NLRI . . . . . . . . . . . . . . . . . 5 | |||
| 2.2. SR Policy and Tunnel Encapsulation Attribute . . . . . . 7 | 2.2. SR Policy and Tunnel Encapsulation Attribute . . . . . . 7 | |||
| 2.3. Remote Endpoint and Color . . . . . . . . . . . . . . . . 8 | 2.3. Remote Endpoint and Color . . . . . . . . . . . . . . . . 8 | |||
| 2.4. SR Policy Sub-TLVs . . . . . . . . . . . . . . . . . . . 9 | 2.4. SR Policy Sub-TLVs . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.4.1. Preference Sub-TLV . . . . . . . . . . . . . . . . . 9 | 2.4.1. Preference Sub-TLV . . . . . . . . . . . . . . . . . 9 | |||
| 2.4.2. Binding SID Sub-TLV . . . . . . . . . . . . . . . . . 10 | 2.4.2. Binding SID Sub-TLV . . . . . . . . . . . . . . . . . 10 | |||
| 2.4.3. SRv6 Binding SID Sub-TLV . . . . . . . . . . . . . . 11 | 2.4.3. SRv6 Binding SID Sub-TLV . . . . . . . . . . . . . . 11 | |||
| 2.4.4. Segment List Sub-TLV . . . . . . . . . . . . . . . . 13 | 2.4.4. Segment List Sub-TLV . . . . . . . . . . . . . . . . 13 | |||
| 2.4.5. Explicit NULL Label Policy Sub-TLV . . . . . . . . . 28 | 2.4.5. Explicit NULL Label Policy Sub-TLV . . . . . . . . . 27 | |||
| 2.4.6. Policy Priority Sub-TLV . . . . . . . . . . . . . . . 29 | 2.4.6. Policy Priority Sub-TLV . . . . . . . . . . . . . . . 29 | |||
| 2.4.7. Policy Candidate Path Name Sub-TLV . . . . . . . . . 30 | 2.4.7. Policy Candidate Path Name Sub-TLV . . . . . . . . . 30 | |||
| 2.4.8. Policy Name Sub-TLV . . . . . . . . . . . . . . . . . 31 | 2.4.8. Policy Name Sub-TLV . . . . . . . . . . . . . . . . . 31 | |||
| 3. Color Extended Community . . . . . . . . . . . . . . . . . . 32 | 3. Color Extended Community . . . . . . . . . . . . . . . . . . 32 | |||
| 4. SR Policy Operations . . . . . . . . . . . . . . . . . . . . 32 | 4. SR Policy Operations . . . . . . . . . . . . . . . . . . . . 32 | |||
| 4.1. Advertisement of SR Policies . . . . . . . . . . . . . . 32 | 4.1. Advertisement of SR Policies . . . . . . . . . . . . . . 32 | |||
| 4.2. Reception of an SR Policy NLRI . . . . . . . . . . . . . 33 | 4.2. Reception of an SR Policy NLRI . . . . . . . . . . . . . 33 | |||
| 4.2.1. Acceptance of an SR Policy NLRI . . . . . . . . . . . 33 | 4.2.1. Acceptance of an SR Policy NLRI . . . . . . . . . . . 33 | |||
| 4.2.2. Usable SR Policy NLRI . . . . . . . . . . . . . . . . 33 | 4.2.2. Usable SR Policy NLRI . . . . . . . . . . . . . . . . 33 | |||
| 4.2.3. Passing a usable SR Policy NLRI to the SRPM . . . . . 34 | 4.2.3. Passing a usable SR Policy NLRI to the SRPM . . . . . 34 | |||
| skipping to change at page 15, line 11 ¶ | skipping to change at page 15, line 11 ¶ | |||
| constitute an explicit path of the SR Policy candidate path. The | constitute an explicit path of the SR Policy candidate path. The | |||
| contents of these sub-TLVs are used only by the SRPM as described in | contents of these sub-TLVs are used only by the SRPM as described in | |||
| section 4 in [I-D.ietf-spring-segment-routing-policy]. | section 4 in [I-D.ietf-spring-segment-routing-policy]. | |||
| The Segment sub-TLVs are optional and MAY appear multiple times in | The Segment sub-TLVs are optional and MAY appear multiple times in | |||
| the Segment List sub-TLV. | the Segment List sub-TLV. | |||
| [I-D.ietf-spring-segment-routing-policy] defines several Segment | [I-D.ietf-spring-segment-routing-policy] defines several Segment | |||
| Types: | Types: | |||
| Type A: SID only, in the form of MPLS Label | Type A: SR-MPLS Label | |||
| Type B: SID only, in the form of IPv6 address | Type B: SRv6 SID | |||
| Type C: IPv4 Node Address with optional SID | Type C: IPv4 Prefix with optional SR Algorithm | |||
| Type D: IPv6 Node Address with optional SID for SR MPLS | Type D: IPv6 Global Prefix with optional SR Algorithm for SR-MPLS | |||
| Type E: IPv4 Address and index with optional SID | Type E: IPv4 Prefix with Local Interface ID | |||
| Type F: IPv4 Local and Remote addresses with optional SID | Type F: IPv4 Addresses for link endpoints as Local, Remote pair | |||
| Type G: IPv6 Address and index for local and remote pair with optional | Type G: IPv6 Prefix and Interface ID for link endpoints as Local, | |||
| SID for SR MPLS | Remote pair for SR-MPLS | |||
| Type H: IPv6 Local and Remote addresses with optional SID for SR MPLS | Type H: IPv6 Addresses for link endpoints as Local, Remote pair | |||
| Type I: IPv6 Node Address with optional SID for SRv6 | for SR-MPLS | |||
| Type J: IPv6 Address and index for local and remote pair with optional | Type I: IPv6 Global Prefix with optional SR Algorithm for SRv6 | |||
| SID for SRv6 | Type J: IPv6 Prefix and Interface ID for link endpoints as Local, | |||
| Type K: IPv6 Local and Remote addresses for SRv6 | Remote pair for SRv6 | |||
| Type K: IPv6 Addresses for link endpoints as Local, Remote pair | ||||
| for SRv6 | ||||
| The following sub-sections specify the sub-TLV used for encoding each | The following sub-sections specify the sub-TLV used for encoding each | |||
| of these Segment Types. | of these Segment Types. | |||
| 2.4.4.2.1. Type A: SID only, in the form of MPLS Label | 2.4.4.2.1. Segment Type A | |||
| The Type A Segment Sub-TLV encodes a single SR-MPLS SID. The format | The Type A Segment Sub-TLV encodes a single SR-MPLS SID. The format | |||
| is as follows: | is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | RESERVED | | | Type | Length | Flags | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Label | TC |S| TTL | | | Label | TC |S| TTL | | |||
| skipping to change at page 16, line 32 ¶ | skipping to change at page 16, line 35 ¶ | |||
| sets the TTL field to 255. | sets the TTL field to 255. | |||
| o If the originator wants to recommend a value for these fields, it | o If the originator wants to recommend a value for these fields, it | |||
| puts those values in the TC and/or TTL fields. | puts those values in the TC and/or TTL fields. | |||
| o The receiver MAY override the originator's values for these | o The receiver MAY override the originator's values for these | |||
| fields. This would be determined by local policy at the receiver. | fields. This would be determined by local policy at the receiver. | |||
| One possible policy would be to override the fields only if the | One possible policy would be to override the fields only if the | |||
| fields have the default values specified above. | fields have the default values specified above. | |||
| 2.4.4.2.2. Type B: SID only, in the form of IPv6 address | 2.4.4.2.2. Segment Type B | |||
| The Type B Segment Sub-TLV encodes a single SRv6 SID. The format is | The Type B Segment Sub-TLV encodes a single SRv6 SID. The format is | |||
| as follows: | as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | RESERVED | | | Type | Length | Flags | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // SRv6 SID (16 octets) // | // SRv6 SID (16 octets) // | |||
| skipping to change at page 17, line 19 ¶ | skipping to change at page 17, line 21 ¶ | |||
| o SRv6 SID: 16 octets of IPv6 address. | o SRv6 SID: 16 octets of IPv6 address. | |||
| o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | |||
| Section 2.4.4.2.13. | Section 2.4.4.2.13. | |||
| The TLV 2 defined for the advertisement of Segment Type B in the | The TLV 2 defined for the advertisement of Segment Type B in the | |||
| earlier versions of this document has been deprecated to avoid | earlier versions of this document has been deprecated to avoid | |||
| backward compatibility issues. | backward compatibility issues. | |||
| 2.4.4.2.3. Type C: IPv4 Node Address with optional SID | 2.4.4.2.3. Segment Type C | |||
| The Type C Segment Sub-TLV encodes an IPv4 node address, SR Algorithm | The Type C Segment Sub-TLV encodes an IPv4 node address, SR Algorithm | |||
| and an optional SR-MPLS SID. The format is as follows: | and an optional SR-MPLS SID. The format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | SR Algorithm | | | Type | Length | Flags | SR Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Node Address (4 octets) | | | IPv4 Node Address (4 octets) | | |||
| skipping to change at page 18, line 8 ¶ | skipping to change at page 18, line 8 ¶ | |||
| described in section 4 in | described in section 4 in | |||
| [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not | [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not | |||
| encoded, this field SHOULD be set to zero on transmission and MUST | encoded, this field SHOULD be set to zero on transmission and MUST | |||
| be ignored on receipt. | be ignored on receipt. | |||
| o IPv4 Node Address: a 4 octet IPv4 address representing a node. | o IPv4 Node Address: a 4 octet IPv4 address representing a node. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.4. Type D: IPv6 Node Address with optional SID for SR MPLS | 2.4.4.2.4. Segment Type D | |||
| The Type D Segment Sub-TLV encodes an IPv6 node address, SR Algorithm | The Type D Segment Sub-TLV encodes an IPv6 node address, SR Algorithm | |||
| and an optional SR-MPLS SID. The format is as follows: | and an optional SR-MPLS SID. The format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | SR Algorithm | | | Type | Length | Flags | SR Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // IPv6 Node Address (16 octets) // | // IPv6 Node Address (16 octets) // | |||
| skipping to change at page 18, line 44 ¶ | skipping to change at page 18, line 44 ¶ | |||
| described in section 4 in | described in section 4 in | |||
| [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not | [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not | |||
| encoded, this field SHOULD be set to zero on transmission and MUST | encoded, this field SHOULD be set to zero on transmission and MUST | |||
| be ignored on receipt. | be ignored on receipt. | |||
| o IPv6 Node Address: a 16 octet IPv6 address representing a node. | o IPv6 Node Address: a 16 octet IPv6 address representing a node. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.5. Type E: IPv4 Address + Local Interface ID with optional SID | 2.4.4.2.5. Segment Type E | |||
| The Type E Segment Sub-TLV encodes an IPv4 node address, a local | The Type E Segment Sub-TLV encodes an IPv4 node address, a local | |||
| interface Identifier (Local Interface ID), and an optional SR-MPLS | interface Identifier (Local Interface ID), and an optional SR-MPLS | |||
| SID. The format is as follows: | SID. The format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | RESERVED | | | Type | Length | Flags | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 19, line 36 ¶ | skipping to change at page 19, line 36 ¶ | |||
| transmission and MUST be ignored on receipt. | transmission and MUST be ignored on receipt. | |||
| o Local Interface ID: 4 octets of interface index as defined in | o Local Interface ID: 4 octets of interface index as defined in | |||
| [RFC8664]. | [RFC8664]. | |||
| o IPv4 Node Address: a 4 octet IPv4 address representing a node. | o IPv4 Node Address: a 4 octet IPv4 address representing a node. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.6. Type F: IPv4 Local and Remote addresses with optional SID | 2.4.4.2.6. Segment Type F | |||
| The Type F Segment Sub-TLV encodes an adjacency local address, an | The Type F Segment Sub-TLV encodes an adjacency local address, an | |||
| adjacency remote address, and an optional SR-MPLS SID. The format is | adjacency remote address, and an optional SR-MPLS SID. The format is | |||
| as follows: | as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | RESERVED | | | Type | Length | Flags | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 20, line 35 ¶ | skipping to change at page 20, line 35 ¶ | |||
| o RESERVED: 1 octet of reserved bits. SHOULD be set to zero on | o RESERVED: 1 octet of reserved bits. SHOULD be set to zero on | |||
| transmission and MUST be ignored on receipt. | transmission and MUST be ignored on receipt. | |||
| o Local IPv4 Address: a 4 octet IPv4 address. | o Local IPv4 Address: a 4 octet IPv4 address. | |||
| o Remote IPv4 Address: a 4 octet IPv4 address. | o Remote IPv4 Address: a 4 octet IPv4 address. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.7. Type G: IPv6 Address + Interface ID for local and remote | 2.4.4.2.7. Segment Type G | |||
| pair with optional SID for SR MPLS | ||||
| The Type G Segment Sub-TLV encodes an IPv6 link-local adjacency with | The Type G Segment Sub-TLV encodes an IPv6 link-local adjacency with | |||
| IPv6 local node address, a local interface identifier (Local | IPv6 local node address, a local interface identifier (Local | |||
| Interface ID), IPv6 remote node address, a remote interface | Interface ID), IPv6 remote node address, a remote interface | |||
| identifier (Remote Interface ID), and an optional SR-MPLS SID. The | identifier (Remote Interface ID), and an optional SR-MPLS SID. The | |||
| format is as follows: | format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 22, line 5 ¶ | skipping to change at page 22, line 5 ¶ | |||
| address and interface identifiers are sufficient to describe the | address and interface identifiers are sufficient to describe the | |||
| link. | link. | |||
| o IPv6 Remote Node Address: a 16 octet IPv6 address. The value MAY | o IPv6 Remote Node Address: a 16 octet IPv6 address. The value MAY | |||
| be set to zero when the local node address and interface | be set to zero when the local node address and interface | |||
| identifiers are sufficient to describe the link. | identifiers are sufficient to describe the link. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.8. Type H: IPv6 Local and Remote addresses with optional SID | 2.4.4.2.8. Segment Type H | |||
| for SR MPLS | ||||
| The Type H Segment Sub-TLV encodes an adjacency local address, an | The Type H Segment Sub-TLV encodes an adjacency local address, an | |||
| adjacency remote address, and an optional SR-MPLS SID. The format is | adjacency remote address, and an optional SR-MPLS SID. The format is | |||
| as follows: | as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | RESERVED | | | Type | Length | Flags | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 22, line 42 ¶ | skipping to change at page 22, line 41 ¶ | |||
| o RESERVED: 1 octet of reserved bits. SHOULD be set to zero on | o RESERVED: 1 octet of reserved bits. SHOULD be set to zero on | |||
| transmission and MUST be ignored on receipt. | transmission and MUST be ignored on receipt. | |||
| o Local IPv6 Address: a 16 octet IPv6 address. | o Local IPv6 Address: a 16 octet IPv6 address. | |||
| o Remote IPv6 Address: a 16 octet IPv6 address. | o Remote IPv6 Address: a 16 octet IPv6 address. | |||
| o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | o SR-MPLS SID: optional, 4 octet field containing label, TC, S and | |||
| TTL as defined in Section 2.4.4.2.1. | TTL as defined in Section 2.4.4.2.1. | |||
| 2.4.4.2.9. Type I: IPv6 Node Address with optional SRv6 SID | 2.4.4.2.9. Segment Type I | |||
| The Type I Segment Sub-TLV encodes an IPv6 node address, SR | The Type I Segment Sub-TLV encodes an IPv6 node address, SR | |||
| Algorithm, and an optional SRv6 SID. The format is as follows: | Algorithm, and an optional SRv6 SID. The format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | SR Algorithm | | | Type | Length | Flags | SR Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // IPv6 Node Address (16 octets) // | // IPv6 Node Address (16 octets) // | |||
| skipping to change at page 23, line 44 ¶ | skipping to change at page 23, line 44 ¶ | |||
| o SRv6 SID: optional, a 16 octet IPv6 address. | o SRv6 SID: optional, a 16 octet IPv6 address. | |||
| o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | |||
| Section 2.4.4.2.13. | Section 2.4.4.2.13. | |||
| The TLV 10 defined for the advertisement of Segment Type I in the | The TLV 10 defined for the advertisement of Segment Type I in the | |||
| earlier versions of this document has been deprecated to avoid | earlier versions of this document has been deprecated to avoid | |||
| backward compatibility issues. | backward compatibility issues. | |||
| 2.4.4.2.10. Type J: IPv6 Address + Interface ID for local and remote | 2.4.4.2.10. Segment Type J | |||
| pair for SRv6 with optional SID | ||||
| The Type J Segment Sub-TLV encodes an IPv6 link-local adjacency with | The Type J Segment Sub-TLV encodes an IPv6 link-local adjacency with | |||
| local node address, a local interface identifier (Local Interface | local node address, a local interface identifier (Local Interface | |||
| ID), remote IPv6 node address, a remote interface identifier (Remote | ID), remote IPv6 node address, a remote interface identifier (Remote | |||
| Interface ID), and an optional SRv6 SID. The format is as follows: | Interface ID), and an optional SRv6 SID. The format is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | SR Algorithm | | | Type | Length | Flags | SR Algorithm | | |||
| skipping to change at page 25, line 14 ¶ | skipping to change at page 25, line 14 ¶ | |||
| o SRv6 SID: optional, a 16 octet IPv6 address. | o SRv6 SID: optional, a 16 octet IPv6 address. | |||
| o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | o SRv6 Endpoint Behavior and SID Structure: Optional, as defined in | |||
| Section 2.4.4.2.13. | Section 2.4.4.2.13. | |||
| The TLV 11 defined for the advertisement of Segment Type J in the | The TLV 11 defined for the advertisement of Segment Type J in the | |||
| earlier versions of this document has been deprecated to avoid | earlier versions of this document has been deprecated to avoid | |||
| backward compatibility issues. | backward compatibility issues. | |||
| 2.4.4.2.11. Type K: IPv6 Local and Remote addresses for SRv6 with | 2.4.4.2.11. Segment Type K | |||
| optional SID | ||||
| The Type K Segment Sub-TLV encodes an adjacency local address, an | The Type K Segment Sub-TLV encodes an adjacency local address, an | |||
| adjacency remote address, and an optional SRv6 SID. The format is as | adjacency remote address, and an optional SRv6 SID. The format is as | |||
| follows: | follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Flags | SR Algorithm | | | Type | Length | Flags | SR Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 38, line 5 ¶ | skipping to change at page 38, line 5 ¶ | |||
| 6.5. New Registry: SR Policy Segment List Sub-TLVs | 6.5. New Registry: SR Policy Segment List Sub-TLVs | |||
| This document requests the creation of a new registry called "SR | This document requests the creation of a new registry called "SR | |||
| Policy Segment List Sub-TLVs" under the "BGP Tunnel Encapsulation" | Policy Segment List Sub-TLVs" under the "BGP Tunnel Encapsulation" | |||
| registry. The allocation policy of this registry is "Standards | registry. The allocation policy of this registry is "Standards | |||
| Action" according to [RFC8126]. | Action" according to [RFC8126]. | |||
| Following initial Sub-TLV codepoints are assigned by this document: | Following initial Sub-TLV codepoints are assigned by this document: | |||
| Value Description Reference | Value Description Reference | |||
| 0 Reserved This document | ----------------------------------------------------- | |||
| 1 Type A MPLS SID sub-TLV This document | 0 Reserved This document | |||
| 2 Deprecated This document | 1 Segment Type A sub-TLV This document | |||
| 3 Type C IPv4 Node and SID sub-TLV This document | 2 Deprecated This document | |||
| 4 Type D IPv6 Node and SID for SR-MPLS sub-TLV This document | 3 Segment Type C sub-TLV This document | |||
| 5 Type E IPv4 Node, index, and SID sub-TLV This document | 4 Segment Type D sub-TLV This document | |||
| 6 Type F IPv4 Local/Remote addresses and SID sub-TLV This document | 5 Segment Type E sub-TLV This document | |||
| 7 Type G IPv6 Node, index for remote and local pair, This document | 6 Segment Type F sub-TLV This document | |||
| and SID for SR-MPLS sub-TLV | 7 Segment Type G sub-TLV This document | |||
| 8 Type H IPv6 Local/Remote addresses and SID sub-TLV This document | 8 Segment Type H sub-TLV This document | |||
| 9 Weight sub-TLV This document | 9 Weight sub-TLV This document | |||
| 10 Deprecated This document | 10 Deprecated This document | |||
| 11 Deprecated This document | 11 Deprecated This document | |||
| 12 Deprecated This document | 12 Deprecated This document | |||
| 13 Type B SRv6 SID sub-TLV This document | 13 Segment Type B sub-TLV This document | |||
| 14 Type I IPv6 Node and SID for SRv6 sub-TLV This document | 14 Segment Type I sub-TLV This document | |||
| 15 Type J IPv6 Node, index for remote and local pair, This document | 15 Segment Type J sub-TLV This document | |||
| and SID for SRv6 sub-TLV | 16 Segment Type K sub-TLV This document | |||
| 16 Type K IPv6 Local/Remote addresses and SID for This document | 17-255 Unassigned | |||
| SRv6 sub-TLV | ||||
| 17-255 Unassigned | ||||
| 6.6. New Registry: SR Policy Binding SID Flags | 6.6. New Registry: SR Policy Binding SID Flags | |||
| This document requests the creation of a new registry called "SR | This document requests the creation of a new registry called "SR | |||
| Policy Binding SID Flags" under the "BGP Tunnel Encapsulation" | Policy Binding SID Flags" under the "BGP Tunnel Encapsulation" | |||
| registry. The allocation policy of this registry is "Standards | registry. The allocation policy of this registry is "Standards | |||
| Action" according to [RFC8126]. | Action" according to [RFC8126]. | |||
| The following flags are defined: | The following flags are defined: | |||
| skipping to change at page 40, line 22 ¶ | skipping to change at page 40, line 22 ¶ | |||
| not automatic and require configuration; thus, it is the | not automatic and require configuration; thus, it is the | |||
| responsibility of the network operator to ensure that only trusted | responsibility of the network operator to ensure that only trusted | |||
| nodes (that include both routers and controller applications) within | nodes (that include both routers and controller applications) within | |||
| the SR domain are configured to receive such information. | the SR domain are configured to receive such information. | |||
| 8. Acknowledgments | 8. Acknowledgments | |||
| The authors of this document would like to thank Shyam Sethuram, John | The authors of this document would like to thank Shyam Sethuram, John | |||
| Scudder, Przemyslaw Krol, Alex Bogdanov, Nandan Saha, Bruno Decraene, | Scudder, Przemyslaw Krol, Alex Bogdanov, Nandan Saha, Bruno Decraene, | |||
| Gurusiddesh Nidasesi, Kausik Majumdar, Zafar Ali, Swadesh Agarwal, | Gurusiddesh Nidasesi, Kausik Majumdar, Zafar Ali, Swadesh Agarwal, | |||
| Jakob Heitz, Viral Patel, Peng Shaofu and Cheng Li for their comments | Jakob Heitz, Viral Patel, Peng Shaofu, Cheng Li, and Martin Vigoureux | |||
| and review of this document. | for their comments and review of this document. | |||
| 9. Contributors | 9. Contributors | |||
| Eric Rosen | ||||
| Juniper Networks | ||||
| US | ||||
| Email: erosen@juniper.net | ||||
| Arjun Sreekantiah | Arjun Sreekantiah | |||
| Cisco Systems | Cisco Systems | |||
| US | US | |||
| Email: asreekan@cisco.com | Email: asreekan@cisco.com | |||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| US | US | |||
| skipping to change at page 40, line 44 ¶ | skipping to change at page 41, line 4 ¶ | |||
| Cisco Systems | Cisco Systems | |||
| US | US | |||
| Email: acee@cisco.com | Email: acee@cisco.com | |||
| Siva Sivabalan | Siva Sivabalan | |||
| Cisco Systems | Cisco Systems | |||
| US | US | |||
| Email: msiva@cisco.com | Email: msiva@cisco.com | |||
| Imtiyaz Mohammad | Imtiyaz Mohammad | |||
| Arista Networks | Arista Networks | |||
| India | India | |||
| Email: imtiyaz@arista.com | Email: imtiyaz@arista.com | |||
| Gaurav Dawra | Gaurav Dawra | |||
| Cisco Systems | Cisco Systems | |||
| US | US | |||
| Email: gdawra.ietf@gmail.com | Email: gdawra.ietf@gmail.com | |||
| Peng Shaofu | Peng Shaofu | |||
| ZTE Corporation | ZTE Corporation | |||
| China | China | |||
| Email: peng.shaofu@zte.com.cn | Email: peng.shaofu@zte.com.cn | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| P. Mattes, "Segment Routing Policy Architecture", draft- | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| ietf-spring-segment-routing-policy-13 (work in progress), | ietf-spring-segment-routing-policy-14 (work in progress), | |||
| May 2021. | October 2021. | |||
| [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>. | |||
| [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | |||
| Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | |||
| Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | |||
| <https://www.rfc-editor.org/info/rfc3032>. | <https://www.rfc-editor.org/info/rfc3032>. | |||
| skipping to change at page 43, line 41 ¶ | skipping to change at page 43, line 46 ¶ | |||
| Cisco Systems | Cisco Systems | |||
| Brussels | Brussels | |||
| BE | BE | |||
| Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
| Ketan Talaulikar (editor) | Ketan Talaulikar (editor) | |||
| Cisco Systems | Cisco Systems | |||
| India | India | |||
| Email: ketant@cisco.com | Email: ketant.ietf@gmail.com | |||
| Paul Mattes | Paul Mattes | |||
| Microsoft | Microsoft | |||
| One Microsoft Way | One Microsoft Way | |||
| Redmond, WA 98052 | Redmond, WA 98052 | |||
| USA | USA | |||
| Email: pamattes@microsoft.com | Email: pamattes@microsoft.com | |||
| Eric Rosen | ||||
| Juniper Networks | ||||
| 10 Technology Park Drive | ||||
| Westford, MA 01886 | ||||
| US | ||||
| Email: erosen@juniper.net | ||||
| Dhanendra Jain | Dhanendra Jain | |||
| Email: dhanendra.ietf@gmail.com | Email: dhanendra.ietf@gmail.com | |||
| Steven Lin | Steven Lin | |||
| Email: stevenlin@google.com | Email: stevenlin@google.com | |||
| End of changes. 26 change blocks. | ||||
| 71 lines changed or deleted | 63 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/ | ||||