idnits 2.17.1 draft-bonica-6man-crh-helper-opt-00.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 (October 31, 2019) is 1639 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 89 -- Looks like a reference, but probably isn't: '1' on line 89 == Unused Reference: 'RFC4443' is defined on line 260, but no explicit reference was found in the text == Outdated reference: A later version (-31) exists of draft-bonica-6man-comp-rtg-hdr-08 ** Downref: Normative reference to an Experimental draft: draft-bonica-6man-comp-rtg-hdr (ref. 'I-D.bonica-6man-comp-rtg-hdr') == Outdated reference: A later version (-06) exists of draft-bonica-lsr-crh-isis-extensions-00 Summary: 1 error (**), 0 flaws (~~), 4 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: May 3, 2020 E. Ruan 6 Fungible Inc. 7 R. Bonica 8 Juniper Networks 9 October 31, 2019 11 Compressed Routing Header (CRH) Helper Option 12 draft-bonica-6man-crh-helper-opt-00 14 Abstract 16 This document defines the IPv6 CRH Helper option. When an SRm6 17 ingress node originates a packet, it can use the IPv6 CRH Helper 18 option to provide SID Forwarding Information Base (SFIB) information 19 to downstream nodes that do not maintain a complete SFIB. 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 May 3, 2020. 38 Copyright Notice 40 Copyright (c) 2019 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 . . . . . . . . . . . . . . . . . . . . . . . . 4 58 4. Option Processing . . . . . . . . . . . . . . . . . . . . . . 4 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 61 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 62 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 64 8.2. Informative References . . . . . . . . . . . . . . . . . 6 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 SRm6 [I-D.bonica-spring-srv6-plus] leverages two new IPv6 [RFC8200] 70 Routing types. Generically, they are called the Compressed Routing 71 Header (CRH) [I-D.bonica-6man-comp-rtg-hdr]. More specifically, the 72 16-bit version of the CRH is called the CRH-16, while the 32-bit 73 version of the CRH is called the CRH-32. 75 Both CRH versions contain the following fields: 77 o Next Header - Identifies the header immediately following the CRH. 79 o Hdr Ext Len - Length of the CRH. 81 o Routing Type - Identifies the Routing header variant (i.e., CRH-16 82 or CRH-32). 84 o Segments Left - The number of segments still to be traversed 85 before reaching the SRm6 path egress node. 87 o Segment Identifier (SID) List - Represents the SRm6 path as an 88 ordered list of Segment Identifiers (SID). SIDs are listed in 89 reverse order, with SID[0] representing the final segment, SID[1] 90 representing the penultimate segment, and so forth. SIDs are 91 listed in reverse order so that Segments Left can be used as an 92 index to the SID List. The SID indexed by Segments Left is called 93 the current SID. 95 As per [RFC8200], when an IPv6 node receives a packet, it examines 96 the packet's destination address. If the destination address 97 represents an interface belonging to the node, the node processes the 98 next header. If the node encounters and recognizes the CRH, it 99 processes the CRH as follows: 101 o If Segments Left equal 0, skip over the CRH and process the next 102 header in the packet. 104 o Decrement Segments Left. 106 o Query a local data structure, called the SID Forwarding 107 Information Base (SFIB), searching for an entry that is indexed by 108 the current SID. 110 o If the above-mentioned query returns an SFIB entry, update the 111 packet's IPv6 Destination Address and forward the packet. 113 In a typical SRm6 deployment, every segment ingress node maintains a 114 complete SFIB and the above-mentioned query returns an SFIB entry. 115 However, in some SRm6 deployments, some segment ingress nodes 116 maintain a complete SFIB while others do not. The following are 117 reasons why a segment ingress node might not maintain a complete 118 SFIB: 120 o the node is a Network Interface Card (NIC) in a data center. 121 Although it originates many segments, it does not participate in 122 the SRm6 control plane [I-D.bonica-lsr-crh-isis-extensions]. 124 o the node resides in another autonomous system and does not 125 participate in the SRm6 control plane. 127 This document defines the IPv6 CRH Helper option. When an SRm6 path 128 ingress node originates a packet, it can use the IPv6 CRH Helper 129 option to provide SFIB information to downstream nodes that do not 130 maintain a complete SFIB. 132 If a segment ingress node queries its SFIB, searching for an entry 133 that is indexed by the current SID, and that query returns nothing, 134 the segment ingress node can obtain the required SFIB information 135 from the IPv6 CRH Helper option. If the segment ingress node cannot 136 obtain the required SFIB information from either source, it discards 137 the packet sends an ICMPv6 [I-D.bonica-lsr-crh-isis-extensions] 138 Parameter Problem message to the source node. 140 2. Requirements Language 142 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 143 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 144 "OPTIONAL" in this document are to be interpreted as described in BCP 145 14 [RFC2119] [RFC8174] when, and only when, they appear in all 146 capitals, as shown here. 148 3. Option Format 150 The CRH Helper option contains the following fields: 152 o Option Type - (8-bits) CRH Helper option. Value TBD by IANA. 153 (Suggested value: 0x11). See Note below. 155 o Opt Data Len - (8-bits) Length of the option, in octets, excluding 156 the Option Type and Option Length fields. 158 o SFIB Helper (SFIBH) List - (Variable length) A list of SFIBHs. 160 Each SFIBH contains the following fields: 162 o SFIBH Length - (8-bits) Length of the SFIBH, in octets, excluding 163 SFIBH Length. Value MUST be greater than 2 and less than 19. 165 o Low SID - (8-bits) Index to the CRH SID List. References the 166 first member of the SID List to which this SFIBH applies. 168 o High SID - (8-bits) Index to the CRH SID List. References the 169 last member of the SID List to which this SFIBH applies. 171 o Prefix field (variable length): An IPv6 Prefix. 173 NOTE : The highest-order two bits of the Option Type (i.e., the "act" 174 bits) are 00. These bits specify the action taken by a destination 175 node that does not recognize the option. The required action is to 176 skip over this option and continue processing the header. 178 The third highest-order bit of the Option Type (i.e., the "chg" bit) 179 is 0. This indicates that Option Data cannot be modified along the 180 path between the packet's source and its destination. 182 4. Option Processing 184 When a segment endpoint node processes a CRH, it attempts to resolve 185 the SID using information contained by its SFIB. If it cannot 186 resolve the SID using SFIB, it attempts to resolve the SID using 187 information received in an applicable SFIBH. If no SFIBH applies to 188 the current SID, the processing node discards the packet and sends an 189 ICMPv6 Parameter Problem message to the source node. 191 When the processing node uses an SFIBH to resolve a SID, it executes 192 the following procedure: 194 o Set the IPv6 Destination Address to 0:: 196 o Overwrite the low order bits of the IPv6 Destination Address with 197 the current SID found in the CRH 199 o Overwrite the high order bits of the IPv6 Destination Address with 200 the prefix found in the applicable SFIBH 202 If the prefix found in the applicable SFIBH is 16 bytes long, it 203 overwrites the entire IPv6 Destination Address. 205 The CRH Helper option MAY occur in a Destination Options header that 206 precedes a CRH. It SHOULD NOT occur in a Hop-by-hop options header 207 or in a Destination Options header that precedes an upper-layer 208 header. 210 When a segment ingress node resolves a SID using information obtained 211 from the CRH helper option, the SID is understood to be a prefix SID. 212 Therefore, the packet is forwarded to its destination via the least 213 cost path. 215 Information obtained from the CRH Helper option is transient. It is 216 discarded as soon as the packet that carried it has been processed. 218 5. Security Considerations 220 When a segment endpoint node processes a CRH, it attempts to resolve 221 the SID using information contained by its SFIB. If it can resolve 222 the SID using SFIB, it MUST ignore the CRH Helper option, even if it 223 contains an applicable SFIBH. 225 6. IANA Considerations 227 IANA is requested to allocate a code point from the Destination 228 Options and Hop-by-hop Options registry 229 (https://www.iana.org/assignments/ipv6-parameters/ 230 ipv6-parameters.xhtml#ipv6-parameters-2). This option is called "CRH 231 Helper Option". The "act" bits are 00 and the "chg" bit is 0. 232 (Suggested value: 0x11). 234 7. Acknowledgements 236 Thanks to TBD for their careful review of this document. 238 8. References 240 8.1. Normative References 242 [I-D.bonica-6man-comp-rtg-hdr] 243 Bonica, R., Kamite, Y., Niwa, T., Alston, A., Henriques, 244 D., Jalil, L., So, N., Xu, F., Chen, G., Zhu, Y., Yang, 245 G., and Y. Zhou, "The IPv6 Compressed Routing Header 246 (CRH)", draft-bonica-6man-comp-rtg-hdr-08 (work in 247 progress), October 2019. 249 [I-D.bonica-spring-srv6-plus] 250 Bonica, R., Hegde, S., Kamite, Y., Alston, A., Henriques, 251 D., Jalil, L., Halpern, J., Linkova, J., and G. Chen, 252 "Segment Routing Mapped To IPv6 (SRm6)", draft-bonica- 253 spring-srv6-plus-06 (work in progress), October 2019. 255 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 256 Requirement Levels", BCP 14, RFC 2119, 257 DOI 10.17487/RFC2119, March 1997, 258 . 260 [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet 261 Control Message Protocol (ICMPv6) for the Internet 262 Protocol Version 6 (IPv6) Specification", STD 89, 263 RFC 4443, DOI 10.17487/RFC4443, March 2006, 264 . 266 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 267 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 268 May 2017, . 270 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 271 (IPv6) Specification", STD 86, RFC 8200, 272 DOI 10.17487/RFC8200, July 2017, 273 . 275 8.2. Informative References 277 [I-D.bonica-lsr-crh-isis-extensions] 278 Kaneriya, P., Shetty, R., Hegde, S., and R. Bonica, "IS-IS 279 Extensions To Support The IPv6 Compressed Routing Header 280 (CRH)", draft-bonica-lsr-crh-isis-extensions-00 (work in 281 progress), May 2019. 283 Authors' Addresses 285 Xing Li 286 CERNET Center/Tsinghua University 287 Room 225, Main Building, Tsinghua University 288 Beijing 100084 289 People's Republic of China 291 Email: xing@cernet.edu.cn 293 Congxiao Bao 294 CERNET Center/Tsinghua University 295 Room 225, Main Building, Tsinghua University 296 Beijing 100084 297 People's Republic of China 299 Email: congxiao@cernet.edu 301 Eddie Ruan 302 Fungible Inc. 303 3201 Scott Blvd 304 Santa Clara, California 95054 305 USA 307 Email: eddie.ruan@fungible.com 309 Ron Bonica 310 Juniper Networks 311 2251 Corporate Park Drive 312 Herndon, Virginia 20171 313 USA 315 Email: rbonica@juniper.net