idnits 2.17.1 draft-bonica-6man-crh-helper-opt-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 19, 2021) is 1075 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '0' on line 87 -- Looks like a reference, but probably isn't: '1' on line 87 == Outdated reference: A later version (-31) exists of draft-bonica-6man-comp-rtg-hdr-24 ** Downref: Normative reference to an Experimental draft: draft-bonica-6man-comp-rtg-hdr (ref. 'I-D.bonica-6man-comp-rtg-hdr') Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6man WG X. Li 3 Internet-Draft C. Bao 4 Intended status: Standards Track CERNET Center/Tsinghua University 5 Expires: October 21, 2021 E. Ruan 6 Fungible Inc. 7 R. Bonica 8 Juniper Networks 9 April 19, 2021 11 Compressed Routing Header (CRH) Helper Option 12 draft-bonica-6man-crh-helper-opt-03 14 Abstract 16 This document defines the IPv6 Compressed Routing Header (CRH) Helper 17 option. When a source node sends a packet with a CRH, it can use the 18 CRH Helper option to provide additional information to downstream 19 nodes. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on October 21, 2021. 38 Copyright Notice 40 Copyright (c) 2021 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 57 3. Option Format . . . . . . . . . . . . . . . . . . . . . . . . 3 58 4. Option Processing . . . . . . . . . . . . . . . . . . . . . . 4 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 61 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 62 8. Normative References . . . . . . . . . . . . . . . . . . . . 5 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 65 1. Introduction 67 IPv6 [RFC8200] source nodes use the Compressed Routing Header (CRH) 68 [I-D.bonica-6man-comp-rtg-hdr] to steer packets along a delivery path 69 to their destination. Two CRH versions have been defined. The 70 CRH-16 encodes segment endpoints in 16 bits, while CRH-32, encodes 71 segment endpoints in 32 bits. 73 Both CRH versions contain the following fields: 75 o Next Header - Identifies the header immediately following the CRH. 77 o Hdr Ext Len - Length of the CRH. 79 o Routing Type - Identifies the Routing header variant (i.e., CRH-16 80 or CRH-32). 82 o Segments Left - The number of segments still to be traversed 83 before reaching the packet's ultimate destination. 85 o Segment Identifier (SID) List - Represents the delivery path as an 86 ordered list of Segment Identifiers (SID). SIDs are listed in 87 reverse order, with SID[0] representing the final segment, SID[1] 88 representing the penultimate segment, and so forth. SIDs are 89 listed in reverse order so that Segments Left can be used as an 90 index to the SID List. The SID indexed by Segments Left is called 91 the current SID. 93 As per [RFC8200], when an IPv6 node receives a packet, it examines 94 the packet's destination address. If the destination address 95 represents an interface belonging to the node, the node processes the 96 next header. If the next header is a CRH, it is processed as 97 follows: 99 o If Segments Left equals 0, skip over the CRH and process the next 100 header in the packet. 102 o Decrement Segments Left. 104 o Query a local data structure, called the CRH Forwarding 105 Information Base (CRH-FIB), searching for an entry that is indexed 106 by the current SID. 108 o If the above-mentioned query returns a CRH-FIB entry, update the 109 packet's IPv6 Destination Address and forward the packet. 111 In a typical CRH deployment, every segment ingress node maintains a 112 complete CRH-FIB and the above-mentioned query returns a CRH-FIB 113 entry. However, in some CRH deployments, some segment ingress nodes 114 maintain a complete CRH-FIB while others do not. For example, a node 115 that does not participate in a control plane or communicate with a 116 controller may not maintain a CRH-FIB. 118 This document defines the IPv6 CRH Helper option. When a source node 119 sends a packet with a CRH, it can use the IPv6 CRH Helper option to 120 provide CRH-FIB information to downstream nodes that do not maintain 121 a complete CRH-FIB. 123 If a segment ingress node queries its CRH-FIB, searching for an entry 124 that is indexed by the current SID, and that query returns nothing, 125 the segment ingress node can obtain the required CRH-FIB information 126 from the IPv6 CRH Helper option. If the segment ingress node cannot 127 obtain the required CRH-FIB information from either source, it 128 discards the packet and sends an ICMPv6 [RFC4443] Parameter Problem 129 message to the source node. 131 2. Requirements Language 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 135 "OPTIONAL" in this document are to be interpreted as described in BCP 136 14 [RFC2119] [RFC8174] when, and only when, they appear in all 137 capitals, as shown here. 139 3. Option Format 141 The CRH Helper option contains the following fields: 143 o Option Type - (8-bits) CRH Helper option. Value TBD by IANA. 144 (Suggested value: 0x11). See Note below. 146 o Opt Data Len - (8-bits) Length of the option, in octets, excluding 147 the Option Type and Option Length fields. 149 o Helper List - (Variable length) A list of Helpers. 151 Each Helper contains the following fields: 153 o Helper Length - (8-bits) Length of the Helper, in octets, 154 excluding Helper Length. Value MUST be greater than 2 and less 155 than 19. 157 o Low SID - (8-bits) Index to the CRH SID List. References the 158 first member of the SID List to which this Helper applies. 160 o High SID - (8-bits) Index to the CRH SID List. References the 161 last member of the SID List to which this Helper applies. 163 o Prefix field (variable length): An IPv6 Prefix. 165 NOTE : The highest-order two bits of the Option Type (i.e., the "act" 166 bits) are 00. These bits specify the action taken by a destination 167 node that does not recognize the option. The required action is to 168 skip over this option and continue processing the header. 170 The third highest-order bit of the Option Type (i.e., the "chg" bit) 171 is 0. This indicates that Option Data cannot be modified along the 172 path between the packet's source and its destination. 174 4. Option Processing 176 When a segment endpoint node processes a CRH, it attempts to resolve 177 the SID using information contained by its CRH-FIB. If it cannot 178 resolve the SID using CRH-FIB, it attempts to resolve the SID using 179 information received in an applicable Helper. If no Helper applies 180 to the current SID, the processing node discards the packet and sends 181 an ICMPv6 Parameter Problem message to the source node. 183 When the processing node uses a Helper to resolve a SID, it executes 184 the following procedure: 186 o Set the IPv6 Destination Address to 0:: 188 o Overwrite the low order bits of the IPv6 Destination Address with 189 the current SID found in the CRH 191 o Overwrite the high order bits of the IPv6 Destination Address with 192 the prefix found in the applicable Helper 194 If the prefix found in the applicable Helper is 16 bytes long, it 195 overwrites the entire IPv6 Destination Address. 197 The CRH Helper option MAY occur in a Destination Options header that 198 precedes a CRH. It SHOULD NOT occur in a Hop-by-hop options header 199 or in a Destination Options header that precedes an upper-layer 200 header. 202 When a segment ingress node resolves a SID using information obtained 203 from the CRH helper option, it forwards the packet through the least- 204 cost path to its new destination. 206 Information obtained from the CRH Helper option is transient. It is 207 discarded as soon as the packet that carried it has been processed. 209 5. Security Considerations 211 When a segment endpoint node processes a CRH, it attempts to resolve 212 the SID using information contained by its CRH-FIB. If it can 213 resolve the SID using CRH-FIB, it MUST ignore the CRH Helper option, 214 even if it contains an applicable Helper. 216 6. IANA Considerations 218 IANA is requested to allocate a code point from the Destination 219 Options and Hop-by-hop Options registry 220 (https://www.iana.org/assignments/ipv6-parameters/ 221 ipv6-parameters.xhtml#ipv6-parameters-2). This option is called "CRH 222 Helper Option". The "act" bits are 00 and the "chg" bit is 0. 223 (Suggested value: 0x11). 225 7. Acknowledgements 227 Thanks to TBD for their careful review of this document. 229 8. Normative References 231 [I-D.bonica-6man-comp-rtg-hdr] 232 Bonica, R., Kamite, Y., Alston, A., Henriques, D., and L. 233 Jalil, "The IPv6 Compact Routing Header (CRH)", draft- 234 bonica-6man-comp-rtg-hdr-24 (work in progress), January 235 2021. 237 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 238 Requirement Levels", BCP 14, RFC 2119, 239 DOI 10.17487/RFC2119, March 1997, 240 . 242 [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet 243 Control Message Protocol (ICMPv6) for the Internet 244 Protocol Version 6 (IPv6) Specification", STD 89, 245 RFC 4443, DOI 10.17487/RFC4443, March 2006, 246 . 248 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 249 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 250 May 2017, . 252 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 253 (IPv6) Specification", STD 86, RFC 8200, 254 DOI 10.17487/RFC8200, July 2017, 255 . 257 Authors' Addresses 259 Xing Li 260 CERNET Center/Tsinghua University 261 Room 225, Main Building, Tsinghua University 262 Beijing 100084 263 People's Republic of China 265 Email: xing@cernet.edu.cn 267 Congxiao Bao 268 CERNET Center/Tsinghua University 269 Room 225, Main Building, Tsinghua University 270 Beijing 100084 271 People's Republic of China 273 Email: congxiao@cernet.edu 275 Eddie Ruan 276 Fungible Inc. 277 3201 Scott Blvd 278 Santa Clara, California 95054 279 USA 281 Email: eddie.ruan@fungible.com 282 Ron Bonica 283 Juniper Networks 284 2251 Corporate Park Drive 285 Herndon, Virginia 20171 286 USA 288 Email: rbonica@juniper.net