idnits 2.17.1 draft-li-pce-pcep-flowspec-srv6-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 : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (March 11, 2019) is 1871 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) == Unused Reference: 'I-D.ietf-idr-segment-routing-te-policy' is defined on line 277, but no explicit reference was found in the text == Outdated reference: A later version (-26) exists of draft-ietf-6man-segment-routing-header-16 == Outdated reference: A later version (-26) exists of draft-ietf-idr-segment-routing-te-policy-05 == Outdated reference: A later version (-13) exists of draft-ietf-pce-pcep-flowspec-03 ** Obsolete normative reference: RFC 5575 (Obsoleted by RFC 8955) Summary: 3 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Z. Li 3 Internet-Draft L. Li 4 Intended status: Standards Track Huawei 5 Expires: September 12, 2019 March 11, 2019 7 PCEP Flow Specification for SRv6 8 draft-li-pce-pcep-flowspec-srv6-00 10 Abstract 12 This draft proposes PCEP flow specification rules that are used to 13 filter SRv6 packets. 15 Requirements Language 17 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 18 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 19 document are to be interpreted as described in [RFC2119]. 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 September 12, 2019. 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. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 3 57 3. The Flow Specification TLV for SRv6 . . . . . . . . . . . . . 3 58 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 59 5. IANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 60 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 61 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 62 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 65 1. Introduction 67 Traffic flows may be categorized and described using "Flow 68 Specifications". [RFC5575] defines the Flow Specification and 69 describes how Flow Specification Components are used to describe 70 traffic flows. [RFC5575]defines how Flow Specifications may be 71 distributed in BGP to allow specific traffic flows to be associated 72 with routes. 74 Segment Routing (SR) for unicast traffic has been proposed to cope 75 with the use cases in traffic engineering, fast re-reroute, service 76 chain, etc. SR architecture can be implemented over an IPv6 data 77 plane using a new type of Segment Routing Header 78 (SRH)[I-D.ietf-6man-segment-routing-header] . SRv6 Network 79 Programming[I-D.filsfils-spring-srv6-network-programming] defined the 80 SRv6 network programming concept and its most basic functions. SRv6 81 SID will have the form LOC:FUNCT:ARGS::. 83 LOC: Each operator is free to use the locator length it chooses. 84 Most often the LOC part of the SID is routable and leads to the node 85 which instantiates that SID 87 FUNCT: The FUNCT part of the SID is an opaque identification of a 88 local function bound to the SID. (e.g. End:Endpoint, End.X, End.T, 89 End.DX2 etc.) 91 ARGS: A function may require additional arguments that would be 92 placed immediately after the FUNCT 94 PCEP[RFC5440] defines the communication between a Path Computation 95 Client (PCC) and a PCE, or between PCE and PCE, enabling computation 96 of path for Traffic Engine. PCEP Flow Specification (PCEP-FS) 98 [I-D.ietf-pce-pcep-flowspec] specifies a set of extensions to PCEP to 99 support dissemination of Flow Specification. 100 [I-D.ietf-pce-pcep-flowspec] defined 3 new Flow Specification TLV 101 Types: TBD5 for Route Distinguisher(RD), TBD6 for IPv4 Multicast 102 Flow, TBD7 for IPv6 Multicast Flow. This document specifies a new 103 subset of PCEP Flow Specification TLV Types to support Segment 104 Routing over IPv6 data plane (SRv6) filtering. 106 2. Definitions and Acronyms 108 o FS: Flow Specification 110 o SR: Segment Routing 112 o SRv6: IPv6 Segment Routing, SRv6 is a method of forwarding IPv6 113 packets on the network based on the concept of source routing. 115 o SID: Segment Identifier 117 o BSID: Binding SID 119 3. The Flow Specification TLV for SRv6 121 This document proposes new flow specifications rules that is encoded 122 in PCEP FS TLVs. The following new FS TLV types are defined: 124 o Whole SID 126 Type TBD1 - Whole SID/BSID 128 0 1 2 3 129 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 130 +-------------------------------+-------------------------------+ 131 | Type=[TBD1] | Length | 132 +-------------------------------+-------------------------------+ 133 ~ [operator, value]+ ~ 134 +---------------------------------------------------------------+ 136 This type of new TLV contains a set of {operator, value} pairs that 137 are used to match the SID/binding SID or a range of whole SID. 139 The operator byte is encoded as: 141 0 1 2 3 4 5 6 7 142 +---+---+---+---+---+---+---+---+ 143 | e | a |lt |gt |eq | reserve | 144 +---+---+---+---+---+---+---+---+ 146 Where: 148 e - end-of-list bit. Set in the last {op, value} pair in the list. 150 a - AND bit. If unset, the previous term is logically ORed with the 151 current one. If set, the operation is a logical AND. It should be 152 unset in the first operator byte of a sequence. The AND operator has 153 higher priority than OR for the purposes of evaluating logical 154 expressions. 156 lt - less than comparison between data and value. 158 gt - greater than comparison between data and value. 160 eq - equality between data and value. 162 The bits lt, gt, and eq can be combined to produce match the SID or a 163 range of SID(e.g. less than SID1 and greater than SID2). 165 The value field is encoded as: 167 0 1 2 3 168 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 169 +---------------------------------------------------------------+ 170 ~ SID(128bits) ~ 171 +---------------------------------------------------------------+ 173 The format of SID is described in 174 [I-D.ietf-6man-segment-routing-header] and 175 [I-D.filsfils-spring-srv6-network-programming] 177 o Some bits of SID to match 179 For some scenarios route policy with the whole128 bits SID matching 180 is too long and not necessary. 181 [I-D.filsfils-spring-srv6-network-programming] defined the format of 182 SID is LOC:FUNCT:ARGS::. In some scenarios, traffic packets can just 183 match Locator, Function ID, Argument or combine of these different 184 fields rather than whole 128 bits SID. This document defines a set 185 of new component type TBD2 to reduce the length of matching. 187 Type TBD2 - Some bits of SID 188 0 1 2 3 189 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 190 +-------------------------------+-------------------------------+ 191 | Type=[TBD2] | Length | 192 +-------------------------------+-------------------------------+ 193 ~ [operator, value]+ ~ 194 +---------------------------------------------------------------+ 196 This type of new TLV contains a set of {operator, value} pairs that 197 are used to match some bits of SID. 199 The operator byte is encoded as: 201 0 1 2 3 4 5 6 7 202 +---+---+---+---+---+---+---+---+ 203 | e | a | type |reserve| 204 +---+---+---+---+---+---+---+---+ 206 Where: 208 e - end-of-list bit. Set in the last {op, value} pair in the list. 210 a - AND bit. If unset, the previous term is logically ORed with the 211 current one. If set, the operation is a logical AND. It should be 212 unset in the first operator byte of a sequence. The AND operator has 213 higher priority than OR for the purposes of evaluating logical 214 expressions. 216 type: 218 0000 : SID's LOC bits 220 0001 : SID's FUNCT bits 0010 : 222 SID's LOC:FUNCT bits 224 0011 : SID's FUNCT:ARGS bits 226 The value field is encoded as SID with mask to match bits as type 227 defined: 229 0 1 2 3 230 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 231 +---------------------------------------------------------------+ 232 ~ SID(128bits) ~ 233 +---------------------------------------------------------------+ 234 ~ Mask ~ 235 +---------------------------------------------------------------+ 237 4. Security Considerations 239 No new security issues are introduced to the PECP protocol by this 240 specification. 242 5. IANA 244 IANA is requested to a new entry in "Flow Spec component types 245 registry" with the following values: 247 +--------------------------------------------+ 248 | Type | RFC or Draft | Description | 249 +--------------------------------------------+ 250 | TBD1 | This Draft | SID | 251 +--------------------------------------------+ 252 | TBD2 | This Draft | Some bits of SID | 253 +--------------------------------------------+ 255 6. Contributors 257 TBD 259 7. Acknowledgments 261 TBD 263 8. References 265 [I-D.filsfils-spring-srv6-network-programming] 266 Filsfils, C., Camarillo, P., Leddy, J., 267 daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 268 Network Programming", draft-filsfils-spring-srv6-network- 269 programming-07 (work in progress), February 2019. 271 [I-D.ietf-6man-segment-routing-header] 272 Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and 273 d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header 274 (SRH)", draft-ietf-6man-segment-routing-header-16 (work in 275 progress), February 2019. 277 [I-D.ietf-idr-segment-routing-te-policy] 278 Previdi, S., Filsfils, C., Jain, D., Mattes, P., Rosen, 279 E., and S. Lin, "Advertising Segment Routing Policies in 280 BGP", draft-ietf-idr-segment-routing-te-policy-05 (work in 281 progress), November 2018. 283 [I-D.ietf-pce-pcep-flowspec] 284 Dhody, D., Farrel, A., and Z. Li, "PCEP Extension for Flow 285 Specification", draft-ietf-pce-pcep-flowspec-03 (work in 286 progress), February 2019. 288 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 289 Requirement Levels", BCP 14, RFC 2119, 290 DOI 10.17487/RFC2119, March 1997, 291 . 293 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 294 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 295 DOI 10.17487/RFC5440, March 2009, 296 . 298 [RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J., 299 and D. McPherson, "Dissemination of Flow Specification 300 Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009, 301 . 303 Authors' Addresses 305 Zhenbin Li 306 Huawei 307 156 Beiqing Road 308 Beijing, 100095 309 P.R. China 311 Email: lizhenbin@huawei.com 313 Lei Li 314 Huawei 315 156 Beiqing Road 316 Beijing 100095 317 P.R. China 319 Email: lily.lilei@huawei.com