idnits 2.17.1 draft-ietf-pce-pcep-flowspec-02.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 16, 2018) is 2018 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-flowspec-mpls-match' is defined on line 986, but no explicit reference was found in the text == Outdated reference: A later version (-27) exists of draft-dhodylee-pce-pcep-ls-11 ** Downref: Normative reference to an Experimental draft: draft-dhodylee-pce-pcep-ls (ref. 'I-D.dhodylee-pce-pcep-ls') == Outdated reference: A later version (-22) exists of draft-ietf-idr-flow-spec-v6-09 == Outdated reference: A later version (-23) exists of draft-ietf-idr-flowspec-l2vpn-08 ** Obsolete normative reference: RFC 5575 (Obsoleted by RFC 8955) == Outdated reference: A later version (-02) exists of draft-ietf-idr-flowspec-mpls-match-01 == Outdated reference: A later version (-16) exists of draft-ietf-pce-segment-routing-14 Summary: 2 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Dhody, Ed. 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track A. Farrel, Ed. 5 Expires: April 19, 2019 Juniper Networks 6 Z. Li 7 Huawei Technologies 8 October 16, 2018 10 PCEP Extension for Flow Specification 11 draft-ietf-pce-pcep-flowspec-02 13 Abstract 15 The Path Computation Element (PCE) is a functional component capable 16 of selecting the paths through a traffic engineered network. These 17 paths may be supplied in response to requests for computation, or may 18 be unsolicited instructions issued by the PCE to network elements. 19 Both approaches use the PCE Communication Protocol (PCEP) to convey 20 the details of the computed path. 22 Traffic flows may be categorized and described using "Flow 23 Specifications". RFC 5575 defines the Flow Specification and 24 describes how it may be distributed in BGP to allow specific traffic 25 flows to be associated with routes. 27 This document specifies a set of extensions to PCEP to support 28 dissemination of Flow Specifications. This allows a PCE to indicate 29 what traffic should be placed on each path that it is aware of. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on April 19, 2019. 48 Copyright Notice 50 Copyright (c) 2018 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 67 3. Procedures for PCE Use of Flow Specifications . . . . . . . . 4 68 3.1. Capability Advertisement . . . . . . . . . . . . . . . . 5 69 3.1.1. PCEP OPEN Message . . . . . . . . . . . . . . . . . . 5 70 3.1.2. IGP PCE Capabilities Advertisement . . . . . . . . . 5 71 3.2. Dissemination Procedures . . . . . . . . . . . . . . . . 6 72 3.3. Flow Specification Synchronization . . . . . . . . . . . 7 73 4. PCE FlowSpec Capability TLV . . . . . . . . . . . . . . . . . 7 74 5. PCEP FLOWSPEC Object . . . . . . . . . . . . . . . . . . . . 8 75 6. Flow Filter TLV . . . . . . . . . . . . . . . . . . . . . . . 10 76 7. Flow Specification TLVs . . . . . . . . . . . . . . . . . . . 10 77 8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 13 78 8.1. Default Behavior and Backward Compatibility . . . . . . . 13 79 8.2. Composite Flow Specifications . . . . . . . . . . . . . . 13 80 8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 14 81 8.4. Multiple Flow Specifications . . . . . . . . . . . . . . 14 82 8.5. Adding and Removing Flow Specifications . . . . . . . . . 14 83 8.6. VPN Identifiers . . . . . . . . . . . . . . . . . . . . . 15 84 8.7. Priorities and Overlapping Flow Specifications . . . . . 15 85 9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 15 86 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 87 10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 18 88 10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 18 89 10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 19 90 10.3. Flow Specification TLV Type Indicators . . . . . . . . . 19 91 10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 20 92 10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 21 93 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 94 12. Manageability Considerations . . . . . . . . . . . . . . . . 22 95 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 96 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 97 14.1. Normative References . . . . . . . . . . . . . . . . . . 22 98 14.2. Informative References . . . . . . . . . . . . . . . . . 23 99 Appendix A. Flow Specification TLV Types . . . . . . . . . . . . 25 100 Appendix B. Contributors . . . . . . . . . . . . . . . . . . . . 27 101 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 103 1. Introduction 105 [RFC4655] defines the Path Computation Element (PCE), a functional 106 component capable of computing paths for use in traffic engineering 107 networks. PCE was originally conceived for use in Multiprotocol 108 Label Switching (MPLS) for Traffic Engineering (TE) networks to 109 derive the routes of Label Switched Paths (LSPs). However, the scope 110 of PCE was quickly extended to make it applicable to Generalized MPLS 111 (GMPLS) networks, and more recent work has brought other traffic 112 engineering technologies and planning applications into scope (for 113 example, Segment Routing (SR) [I-D.ietf-pce-segment-routing]). 115 [RFC5440] describes the Path Computation Element Communication 116 Protocol (PCEP). PCEP defines the communication between a Path 117 Computation Client (PCC) and a PCE, or between PCE and PCE, enabling 118 computation of path for MPLS-TE LSPs. 120 Stateful PCE [RFC8231] specifies a set of extensions to PCEP to 121 enable control of TE-LSPs by a PCE that retains state about the the 122 LSPs provisioned in the network (a stateful PCE). [RFC8281] 123 describes the setup, maintenance, and teardown of LSPs initiated by a 124 stateful PCE without the need for local configuration on the PCC, 125 thus allowing for a dynamic network that is centrally controlled. 126 [RFC8283] introduces the architecture for PCE as a central controller 127 and describes how PCE can be viewed as a component that performs 128 computation to place 'flows' within the network and decide how these 129 flows are routed. 131 Dissemination of traffic flow specifications (Flow Specifications) 132 was introduced for BGP in [RFC5575]. A Flow Specification is 133 comprised of traffic filtering rules and actions. The routers that 134 receive a Flow Specification can classify received packets according 135 to the traffic filtering rules and can direct packets based on the 136 actions. 138 When a PCE is used to initiate tunnels (such as TE-LSPs or SR paths) 139 using PCEP, it is important that the head end of the tunnels 140 understands what traffic to place on each tunnel. The data flows 141 intended for a tunnel can be described using Flow Specifications, and 142 when PCEP is in use for tunnel initiation it makes sense for that 143 same protocol to be used to distribute the Flow Specifications that 144 describe what data is to flow on those tunnels. 146 This document specifies a set of extensions to PCEP to support 147 dissemination of Flow Specifications. The extensions include the 148 creation, update, and withdrawal of Flow Specifications via PCEP, and 149 can be applied to tunnels initiated by the PCE or to tunnels where 150 control is delegated to the PCE by the PCC. Furthermore, a PCC 151 requesting a new path can include Flow Specifications in the request 152 to indicate the purpose of the tunnel allowing the PCE to factor this 153 in during the path computation. 155 Flow Specifications are carried in TLVs within a new Flow Spec Object 156 defined in this document. The flow filtering rules indicated by the 157 Flow Specifications are mainly defined by BGP Flow Specifications. 159 2. Terminology 161 This document uses the following terms defined in [RFC5440]: PCC, 162 PCE, PCEP Peer. 164 The following term from [RFC5575] is used frequently throughout this 165 document: 167 Flow Specification (FlowSpec): A Flow Specification is an n-tuple 168 consisting of several matching criteria that can be applied to IP 169 traffic, including filters and actions. Each FlowSpec consists of 170 a set of filters and a set of actions. 172 This document uses the terms "stateful PCE" and "active PCE" as 173 advocated in [RFC7399]. 175 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 176 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 177 "OPTIONAL" in this document are to be interpreted as described in BCP 178 14 [RFC2119] [RFC8174] when, and only when, they appear in all 179 capitals, as shown here. 181 3. Procedures for PCE Use of Flow Specifications 183 There are three elements of procedure: 185 o A PCE and a PCC must be able to indicate whether or not they 186 support the use of Flow Specifications. 188 o A PCE or PCC must be able to include Flow Specifications in PCEP 189 messages with clear understanding of the applicability of those 190 Flow Specifications in each case including whether the use of such 191 information is mandatory, constrained, or optional, and how 192 overlapping Flow Specifications will be resolved. 194 o Flow Specification information/state must be synchronized between 195 PCEP peers so that, on recovery, the peers have the same 196 understanding of which Flow Specifications apply. 198 The following subsections describe these points. 200 3.1. Capability Advertisement 202 As with most PCEP capability advertisements, the ability to support 203 Flow Specifications can be indicated in the PCEP OPEN message or in 204 IGP PCE capability advertisements. 206 3.1.1. PCEP OPEN Message 208 During PCEP session establishment, a PCC or PCE that supports the 209 procedures described in this document announces this fact by 210 including the "PCE FlowSpec Capability" TLV (described in Section 4) 211 in the OPEN Object carried in the PCEP Open message. 213 The presence of the PCE FlowSpec Capability TLV in the OPEN Object in 214 a PCE's OPEN message indicates that the PCE can distribute FlowSpecs 215 to PCCs and can receive FlowSpecs in messages from the PCCs. 217 The presence of the PCE FlowSpec Capability TLV in the OPEN Object in 218 a PCC's OPEN message indicates that the PCC supports the FlowSpec 219 functionality described in this document. 221 If either one of a pair of PCEP peers does not indicate support of 222 the functionality described in this document by not including the PCE 223 FlowSpec Capability TLV in the OPEN Object in its OPEN message, then 224 the other peer MUST NOT include a FlowSpec object in any PCEP message 225 sent to the peer that does not support the procedures. If a FlowSpec 226 object is received even though support has not been indicated, the 227 receiver will respond with a PCErr message reporting the objects 228 containing the FlowSpec as described in [RFC5440]: that is, it will 229 use 'Unknown Object' if it does not support this specification, and 230 'Not supported object' if it supports this specification but has not 231 chosen to support FlowSpec objects on this PCEP session. 233 3.1.2. IGP PCE Capabilities Advertisement 235 The ability to advertise support for PCEP and PCE features in IGP 236 advertisements is provided for OSPF in [RFC5088] and for IS-IS in 237 [RFC5089]. The mechanism uses the PCE Discovery TLV which has a PCE- 238 CAP-FLAGS sub-TLV containing bit-flags each of which indicates 239 support for a different feature. 241 This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSpec 242 Capable flag (bit number TBD1). Setting the bit indicates that an 243 advertising PCE supports the procedures defined in this document. 245 Note that while PCE FlowSpec Capability may be advertised during 246 discovery, PCEP speakers that wish to use Flow Specification in PCEP 247 MUST negotiate PCE FlowSpec Capability during PCEP session setup, as 248 specified in Section 3.1.1. A PCC MAY initiate PCE FlowSpec 249 Capability negotiation at PCEP session setup even if it did not 250 receive any IGP PCE capability advertisement, and a PCEP peer that 251 advertised support for FlowSpec in the IGP is not obliged to support 252 these procedures on any given PCEP session. 254 3.2. Dissemination Procedures 256 This section describes the procedures to support Flow Specifications 257 in PCEP messages. 259 The primary purpose of distributing Flow Specification information is 260 to allow a PCE to indicate to a PCC what traffic it should place on a 261 path (such as an LSP or an SR path). This means that the Flow 262 Specification may be included in: 264 o PCInitiate messages so that an active PCE can indicate the traffic 265 to place on a path at the time that the PCE instantiates the path. 267 o PCUpd messages so that an active PCE can indicate or change the 268 traffic to place on a path that has already been set up. 270 o PCRpt messages so that a PCC can report the traffic that the PCC 271 plans to place on the path. 273 o PCReq messages so that a PCC can indicate what traffic it plans to 274 place on a path at the time it requests the PCE to perform a 275 computation in case that information aids the PCE in its work. 277 o PCRep messages so that a PCE that has been asked to compute a path 278 can suggest which traffic could be placed on a path that a PCC may 279 be about to set up. 281 o PCErr messages so that issues related to paths and the traffic 282 they carry can be reported to the PCE by the PCC, and so that 283 problems with other PCEP messages that carry Flow Specifications 284 can be reported. 286 To carry Flow Specifications in PCEP messages, this document defines 287 a new PCEP object called the PCEP FLOWSPEC Object. The object is 288 OPTIONAL in the messages described above and MAY appear more than 289 once in each message. 291 The PCEP FLOWSPEC Object carries zero or one Flow Filter TLV which 292 describes a traffic flow. 294 The inclusion of multiple PCEP FLOWSPEC Objects allows multiple 295 traffic flows to be placed on a single path. 297 Once a PCE and PCC have established that they can both support the 298 use of Flow Specifications in PCEP messages, such information may be 299 exchanged at any time for new or existing paths. 301 The application and prioritization of Flow Specifications is 302 described in Section 8.7. 304 3.3. Flow Specification Synchronization 306 The Flow Specifications are carried along with the LSP State 307 information as per [RFC8231] making the Flow Specifications part of 308 the LSP database (LSP-DB). Thus, the synchronization of the Flow 309 Specification information is done as part of LSP-DB synchronization. 310 This may be achieved using normal state synchronization procedures as 311 described in [RFC8231] or enhanced state synchronization procedures 312 as defined in [RFC8232]. 314 The approach selected will be implementation and deployment specific 315 and will depend on issues such as how the databases are constructed 316 and what level of synchronization support is needed. 318 4. PCE FlowSpec Capability TLV 320 The PCE-FLOWSPEC-CAPABILITY TLV is an optional TLV that can be 321 carried in the OPEN Object [RFC5440] to exchange PCE FlowSpec 322 capabilities of PCEP speakers. 324 The format of the PCE-FLOWSPEC-CAPABILITY TLV follows the format of 325 all PCEP TLVs as defined in [RFC5440] and is shown in Figure 1. 327 0 1 2 3 328 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 329 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 330 | Type=TBD2 | Length=2 | 331 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 332 | Value=0 | Padding | 333 +---------------------------------------------------------------+ 335 Figure 1: PCE-FLOWSPEC-CAPABILITY TLV format 337 The type of the PCE-FLOWSPEC-CAPABILITY TLV is TBD2 and it has a 338 fixed length of 2 octets. The Value field is set to default value 0. 339 The two bytes of padding MUST be set to zero and ignored on receipt. 341 The inclusion of this TLV in an OPEN object indicates that the sender 342 can perform FlowSpec handling as defined in this document. 344 5. PCEP FLOWSPEC Object 346 The PCEP FLOWSPEC object defined in this document is compliant with 347 the PCEP object format defined in [RFC5440]. It is OPTIONAL in the 348 PCReq, PCRep, PCErr, PCInitiate, PCRpt, and PCUpd messages and MAY be 349 present zero, one, or more times. Each instance of the object 350 specifies a traffic flow. 352 The PCEP FLOWSPEC object carries a FlowSpec filter rule encoded in a 353 TLV (as defined in Section 6. 355 The FLOWSPEC Object-Class is TBD3 (to be assigned by IANA). 357 The FLOWSPEC Object-Type is 1. 359 The format of the body of the PCEP FLOWSPEC object is shown in 360 Figure 2 361 0 1 2 3 362 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 363 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 364 | FS-ID | 365 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 366 | AFI | Reserved | Flags |R| 367 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 368 | | 369 | Flow Filter TLV (variable) | 370 | | 371 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 373 Figure 2: PCEP FLOWSPEC Object Body Format 375 FS-ID (32-bits): A PCEP-specific identifier for the FlowSpec 376 information. A PCE or PCC creates an FS-ID for each FlowSpec that it 377 originates, and the value is unique within the scope of that PCE or 378 PCC and is constant for the lifetime of a PCEP session. All 379 subsequent PCEP messages can identify the FlowSpec using the FS-ID. 380 The values 0 and 0xFFFFFFFF are reserved and MUST NOT be used. 382 AFI (16-bits): Address Family Identifier as used in BGP [RFC4760] 383 (AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per as per 384 [I-D.ietf-idr-flow-spec-v6]). 386 Reserved (8-bits): MUST be set to zero on transmission and ignored on 387 receipt. 389 Flags (8-bits): One flag is currently assigned - 391 R bit: The Remove bit is set when a PCEP FLOWSPEC Object is 392 included in a PCEP message to indicate removal of the Flow 393 Specification from the associated tunnel. If the bit is clear, 394 the Flow Specification is being added or modified. 396 Unassigned bits MUST be set to zero on transmission and ignored on 397 receipt. 399 If the PCEP speaker receives a message with R bit set in FLOWSPEC 400 object and the Flow Specification identified with a FS-ID does not 401 exist, it MUST generate a PCErr with Error-type TBD8 (FlowSpec 402 Error), error-value 4 (Unknown FlowSpec). 404 If the PCEP speaker does not understand or support the AFI in the 405 FLOWSPEC message, the PCEP peer MUST respond with a PCErr message 406 with error-type TBD8 (FlowSpec Error), error-value 2 (Malformed 407 FlowSpec). 409 Flow Filter TLV (variable): One TLV MAY be included. 411 The Flow Filter TLV is OPTIONAL when the R bit is set. The TLV MUST 412 be present when the R bit is clear. If the TLV is missing when the R 413 bit is clear, the PCEP peer MUST respond with a PCErr message with 414 error-type TBD8 (FlowSpec Error), error-value 2 (Malformed FlowSpec). 416 6. Flow Filter TLV 418 A new PCEP TLV is defined to convey Flow Specification filtering 419 rules that specify what traffic is carried on a path. The TLV 420 follows the format of all PCEP TLVs as defined in [RFC5440]. The 421 Type field values come from the codepoint space for PCEP TLVs and has 422 the value TBD4. 424 The Value field contains one or more sub-TLVs (the Flow Specification 425 TLVs) as defined in Section 7. Only one Flow Filter TLV can be 426 present and represents the complete definition of a Flow 427 Specification for traffic to be placed on the tunnel indicated by the 428 PCEP message in which the PCEP Flow Spec Object is carried. The set 429 of Flow Specification TLVs in a single instance of a Flow Filter TLV 430 are combined to indicate the specific Flow Specification. 432 Further Flow Specifications can be included in a PCEP message by 433 including additional Flow Spec objects. 435 7. Flow Specification TLVs 437 The Flow Filter TLV carries one or more Flow Specification TLV. The 438 Flow Specification TLV follows the format of all PCEP TLVs as defined 439 in [RFC5440], however, the Type values are selected from a separate 440 IANA registry (see Section 10) rather than from the common PCEP TLV 441 registry. 443 Type values are chosen so that there can be commonality with Flow 444 Specifications defined for use with BGP [RFC5575]. This is possible 445 because the BGP Flow Spec encoding uses a single octet to encode the 446 type where as PCEP uses two octets. Thus the space of values for the 447 Type field is partitioned as shown in Figure 3. 449 Range | 450 ---------------+--------------------------------------------------- 451 0 | Reserved - must not be allocated. 452 | 453 1 .. 255 | Per BGP registry defined by [RFC5575] and 454 | [I-D.ietf-idr-flow-spec-v6]. 455 | Not to be allocated in this registry. 456 | 457 256 .. 65535 | New PCEP Flow Specifications allocated according 458 | to the registry defined in this document. 460 Figure 3: Flow Specification TLV Type Ranges 462 [RFC5575] created the registry "Flow Spec Component Types" and made 463 allocations to it. [I-D.ietf-idr-flow-spec-v6] requested for another 464 registry "Flow Spec IPv6 Component Types" and requested initial 465 allocations in it. If the AFI (in the FLOWSPEC object) is set to 466 IPv4, the range 1..255 is as per "Flow Spec Component Types" 467 [RFC5575]; if the AFI is set to IPv6, the range 1..255 is as per 468 "Flow Spec IPv6 Component Types" [I-D.ietf-idr-flow-spec-v6]. When 469 future BGP specifications (such as [I-D.ietf-idr-flowspec-l2vpn]) 470 make further allocations to the aforementioned registries, they are 471 also inherited to be used in PCEP. 473 The content of the Value field in each TLV is specific to the type/ 474 AFI and describes the parameters of the Flow Specification. The 475 definition of the format of many of these Value fields is inherited 476 from BGP specifications as shown in Figure 6. Specifically, the 477 inheritance is from [RFC5575] and [I-D.ietf-idr-flow-spec-v6], but 478 may also be inherited from future BGP specifications. This is a non- 479 exhaustive list for illustration purpose. 481 When multiple Flow Specification TLVs are present in a single Flow 482 Filter TLV they are combined to produce a more detailed description 483 of a flow. For examples and rules about how this is achieved, see 484 [RFC5575]. 486 An implementation that receives a PCEP message carrying a Flow 487 Specification TLV with a type value that it does not recognize or 488 does not support MUST respond with a PCErr message with error-type 489 TBD8 (FlowSpec Error), error-value 1 (Unsupported FlowSpec) and MUST 490 NOT install the Flow Specification. 492 When used in other protocols (such as BGP) these Flow Specifications 493 are also associated with actions to indicate how traffic matching the 494 Flow Specification should be treated. In PCEP, however, the only 495 action is to associate the traffic with a tunnel and to forward 496 matching traffic on to that path, so no encoding of an action is 497 needed. 499 Section 8.7 describes how overlapping Flow Specifications are 500 prioritized and handled. 502 All Flow Specification TLVs with Types in the range 1 to 255 have 503 Values defined for use in BGP (for example, in [RFC5575], 504 [I-D.ietf-idr-flow-spec-v6], and [I-D.ietf-idr-flowspec-l2vpn]) and 505 are set using the BGP encoding, but without the type or length octets 506 (the relevant information is in the Type and Length fields of the 507 TLV). The Value field is padded with trailing zeros to achieve 508 4-byte alignment. 510 This document defines following new types - 512 +-------+-------------------------+-----------------------------+ 513 | Type | Description | Value defined in | 514 | | | | 515 +-------+-------------------------+-----------------------------+ 516 | TBD5 | Route Distinguisher | [I-D.dhodylee-pce-pcep-ls] | 517 +-------+-------------------------+-----------------------------+ 518 | TBD6 | IPv4 Multicast Flow | [This.I-D] | 519 +-------+-------------------------+-----------------------------+ 520 | TBD7 | IPv6 Multicast Flow | [This.I-D] | 521 +-------+-------------------------+-----------------------------+ 523 Figure 4: Table of Flow Specification TLV Types defined in this 524 document 526 [I-D.dhodylee-pce-pcep-ls] defines a way to convey identification of 527 a VPN in PCEP via a Route Distinguisher (RD) [RFC4364] encoded in 528 ROUTE-DISTINGUISHER TLV. A Flow Specification TLV with Type TBD5 529 carries a Value field matching that present in the ROUTE- 530 DISTINGUISHER TLV and is used to identify that other flow filter 531 information (for example, an IPv4 destination prefix) is associated 532 with a specific VPN identified by the RD. See Section 8.6 for 533 further discussion of VPN identification. 535 Although it may be possible to describe a multicast Flow 536 Specification from the combination of other Flow Specification TLVs 537 with specific values, it is more convenient to use a dedicated Flow 538 Specification TLV. Flow Specification TLVs with Type values TBD6 and 539 TBD7 are used to identify a multicast flow for IPv4 and IPv6 540 respectively. The Value field is encoded as shown in Figure 5. 542 0 1 2 3 543 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 544 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 545 | Rsvd |S|W|R| Rsvd |B|Z| Src Mask Len | Grp Mask Len | 546 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 547 ~ Source Address ~ 548 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 549 ~ Group multicast Address ~ 550 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 552 Figure 5: Multicast Flow Specification TLV Encoding 554 The fields of the two Multicast Flow Specification TLVs are as 555 described in Section 4.9.1 of [RFC7761] noting that the two address 556 fields are 32 bits for the IPv4 Multicast Flow and 128 bits for the 557 IPv6 Multicast Flow. Reserved fields (RSVD) MUST be set to zero and 558 ignored on receipt. 560 8. Detailed Procedures 562 This section outlines some specific detailed procedures for using the 563 protocol extensions defined in this document. 565 8.1. Default Behavior and Backward Compatibility 567 The default behavior is that no Flow Specification is applied to a 568 tunnel. That is, the default is that the Flow Spec object is not 569 used as is the case in all systems before the implementation of this 570 specification. 572 In this case it is a local matter (such as through configuration) how 573 tunnel head ends are instructed what traffic to place on a tunnel. 575 [RFC5440] describes how receivers respond when they see unknown PCEP 576 objects. 578 8.2. Composite Flow Specifications 580 Flow Specifications may be represented by a single Flow Specification 581 TLV or may require a more complex description using multiple Flow 582 Specification TLVs. For example, a flow indicated by a source- 583 destination pair of IPv6 addresses would be described by the 584 combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow 585 Specification TLVs. 587 8.3. Modifying Flow Specifications 589 A PCE may want to modify a Flow Specification associated with a 590 tunnel, or a PCC may want to report a change to the Flow 591 Specification it is using with a tunnel. 593 It is important that the specific Flow Specification is identified so 594 that it is clear that this is a modification of an existing flow and 595 not the addition of a new flow as described in Section 8.4. The FS- 596 ID field of the PCEP Flow Spec Object is used to identify a specific 597 Flow Specification. 599 When modifying a Flow Specification, all Flow Specification TLVs for 600 the intended specification of the flow MUST be included in the PCEP 601 Flow Spec Object and the FS-ID MUST be retained from the previous 602 description of the flow. 604 8.4. Multiple Flow Specifications 606 It is possible that multiple flows will be place on a single tunnel. 607 In some cases it is possible to to define these within a single PCEP 608 Flow Spec Object: for example, two Destination IPv4 Prefix TLVs could 609 be included to indicate that packets matching either prefix are 610 acceptable. PCEP would consider this as a single Flow Specification 611 identified by a single FS-ID. 613 In other scenarios the use of multiple Flow Specification TLVs would 614 be confusing. For example, if flows from A to B and from C to D are 615 to be included then using two Source IPv4 Prefix TLVs and two 616 Destination IPv4 Prefix TLVs would be confusing (are flows from A to 617 D included?). In these cases, each Flow Specification is carried in 618 its own PCEP Flow Spec Object with multiple objects present on a 619 single PCEP message. Use of separate objects also allows easier 620 removal and modification of Flow Specifications. 622 8.5. Adding and Removing Flow Specifications 624 The Remove bit in the the PCEP Flow Spec Object is left clear when a 625 Flow Specification is being added or modified. 627 To remove a Flow Specification, a PCEP Flow Spec Object is included 628 with the FS-ID matching the one being removed, and the R bit set to 629 indicate removal. In this case it is not necessary to include any 630 Flow Specification TLVs. 632 If the R bit is set and Flow Specification TLVs are present an 633 implementation MAY ignore them. If the implementation checks the 634 Flow Specification TLVs against those recorded for the FS-ID of the 635 Flow Specification being removed and finds a mismatch, the Flow 636 Specification MUST still be removed and the implementation SHOULD 637 record a local exception or log. 639 8.6. VPN Identifiers 641 VPN instances are identified in BGP using Route Distinguishers (RDs) 642 [RFC4364]. These values are not normally considered to have any 643 meaning outside of the network, and they are not encoded in data 644 packets belonging to the VPNs. However, RDs provide a useful way of 645 identifying VPN instances and are often manually or automatically 646 assigned to VPNs as they are provisioned. 648 Thus the RD provides a useful way to indicate that traffic for a 649 particular VPN should be placed on a given tunnel. The tunnel head 650 end will need to interpret this Flow Specification not as a filter on 651 the fields of data packets, but using the other mechanisms that it 652 already uses to identify VPN traffic. This could be based on the 653 incoming port (for port-based VPNs) or may leverage knowledge of the 654 VRF that is in use for the traffic. 656 8.7. Priorities and Overlapping Flow Specifications 658 TBD 660 An implementation that receives a PCEP message carrying a Flow 661 Specification that it cannot resolve against other Flow 662 Specifications already installed MUST respond with a PCErr message 663 with error-type TBD8 (FlowSpec Error), error-value 3 (Unresolvable 664 conflict) and MUST NOT install the Flow Specification. 666 9. PCEP Messages 668 The figures in this section use the notation defined in [RFC5511]. 670 The FLOWSPEC Object is OPTIONAL and MAY be carried in the PCEP 671 messages. 673 The PCInitiate message is defined in [RFC8281] and updated as below: 675 ::= 676 678 Where: 679 ::= 680 [] 682 ::= 683 ( | 684 ) 686 ::= 687 688 [] 689 690 [] 691 [] 693 Where: 694 ::= [] 696 The PCUpd message is defined in [RFC8231] and updated as below: 698 ::= 699 701 Where: 702 ::= 703 [] 705 ::= 706 707 708 [] 710 Where: 711 ::= 713 ::= [] 715 The PCRpt message is defined in [RFC8231] and updated as below: 717 ::= 718 720 Where: 721 ::= [] 723 ::= [] 724 725 726 [] 728 Where: 729 ::= 730 [] 731 733 ::= [] 735 The PCReq message is defined in [RFC5440] and updated in [RFC8231], 736 it is further updated below for flow specification: 738 ::= 739 [] 740 742 Where: 743 ::= [] 745 ::= [] 747 ::= 748 749 [] 750 [] 751 [] 752 [] 753 [[]] 754 [] 755 [] 756 [] 758 Where: 759 ::= [] 761 The PCRep message is defined in [RFC5440] and updated in [RFC8231], 762 it is further updated below for flow specification: 764 ::= 765 767 Where: 768 ::=[] 770 ::= 771 [] 772 [] 773 [] 774 [] 775 [] 777 Where: 778 ::= [] 780 10. IANA Considerations 782 IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" 783 registry. This document requests IANA actions to allocate code 784 points for the protocol elements defined in this document. 786 10.1. PCEP Objects 788 Each PCEP object has an Object-Class and an Object-Type. IANA 789 maintains a subregistry called "PCEP Objects". IANA is requested to 790 make an assignment from this subregistry as follows: 792 Object-Class | Value Name | Object-Type | Reference 793 -------------+-------------+------------------------+---------------- 794 TBD3 | FLOWSPEC | 0: Reserved | [This.I-D] 795 | | 1: Flow Specification | [This.I-D] 797 10.1.1. PCEP FLOWSPEC Object Flag Field 799 This document requests that a new sub-registry, named "FLOW SPEC 800 Object Flag Field", is created within the "Path Computation Element 801 Protocol (PCEP) Numbers" registry to manage the Flag field of the 802 FLOWSPEC object. New values are to be assigned by Standards Action 803 [RFC8126]. Each bit should be tracked with the following qualities: 805 o Bit number (counting from bit 0 as the most significant bit) 807 o Capability description 809 o Defining RFC 811 The following values are defined in this document: 813 Bit Description Reference 815 31 Remove (R-bit) [This.I-D] 817 10.2. PCEP TLV Type Indicators 819 IANA maintains a subregistry called "PCEP TLV Type Indicators". IANA 820 is requested to make an assignment from this subregistry as follows: 822 Value | Meaning | Reference 823 --------+------------------------------+------------- 824 TBD2 | PCE-FLOWSPEC-CAPABILITY TLV | [This.I-D] 825 TBD4 | FLOW FILTER TLV | [This.I-D] 827 10.3. Flow Specification TLV Type Indicators 829 IANA is requested to create a new subregistry call the "PCEP Flow 830 Specification TLV Type Indicators" registry. 832 Allocations from this registry are to be made according to the 833 following assignment policies [RFC8126]: 835 Range | Assignment policy 836 ---------------+--------------------------------------------------- 837 0 | Reserved - must not be allocated. 838 | 839 1 .. 255 | Reserved - must not be allocated. 840 | Usage mirrors the BGP FlowSpec registry [RFC5575] 841 | & [I-D.ietf-idr-flow-spec-v6]. 842 | 843 256 .. 64506 | Specification Required 844 | 845 64507 .. 65531 | First Come First Served 846 | 847 65532 .. 65535 | Experimental 849 IANA is requested to pre-populate this registry with values defined 850 in this document as follows, taking the new values from the range 256 851 to 64506: 853 Value | Meaning 854 -------+------------------------ 855 TBD5 | Route Distinguisher 856 TBD6 | IPv4 Multicast 857 TBD7 | IPv6 Multicast 859 10.4. PCEP Error Codes 861 IANA maintains a subregistry called "PCEP-ERROR Object Error Types 862 and Values". Entries in this subregistry are described by Error-Type 863 and Error-value. IANA is requested to make the following assignment 864 from this subregistry: 866 Error-| Meaning | Error-value | Reference 867 Type | | | 868 -------+--------------------+----------------------------+----------- 869 TBD8 | FlowSpec error | 0: Unassigned | [This.I-D] 870 | | 1: Unsupported FlowSpec | [This.I-D] 871 | | 2: Malformed FlowSpec | [This.I-D] 872 | | 3: Unresolvable conflict | [This.I-D] 873 | | 4: Unknown FlowSpec | [This.I-D] 874 | | 5-255: Unassigned | [This.I-D] 876 10.5. PCE Capability Flag 878 IANA maintains a subregistry called "Open Shortest Path First v2 879 (OSPFv2) Parameters" with a sub-registry called "Path Computation 880 Element (PCE) Capability Flags". IANA is requested to assign a new 881 capability bit from this registry as follows: 883 Bit | Capability Description | Reference 884 -------+-------------------------------+------------ 885 TBD1 | FlowSpec | [This.I-D] 887 11. Security Considerations 889 We may assume that a system that utilizes a remote PCE is subject to 890 a number of vulnerabilities that could allow spurious LSPs or SR 891 paths to be established or that could result in existing paths being 892 modified or torn down. Such systems, therefore, apply security 893 considerations as described in [RFC5440], [RFC6952], and [RFC8253]. 895 The description of Flow Specifications associated with paths set up 896 or controlled by a PCE add a further detail that could be attacked 897 without tearing down LSPs or SR paths, but causing traffic to be 898 misrouted within the network. Therefore, the use of the security 899 mechanisms for PCEP referenced above is important. 901 Visibility into the information carried in PCEP does not have direct 902 privacy concerns for end-users' data, however, knowledge of how data 903 is routed in a network may make that data more vulnerable. Of 904 course, the ability to interfere with the way data is routed also 905 makes the data more vulnerable. Furthermore, knowledge of the 906 connected end-points (such as multicast receivers or VPN sites) is 907 usually considered private customer information. Therefore, 908 implementations or deployments concerned to protect privacy MUST 909 apply the mechanisms described in the documents referenced above. 911 Experience with Flow Specifications in BGP systems indicates that 912 they can become complex and that the overlap of Flow Specifications 913 installed in different orders can lead to unexpected results. 914 Although this is not directly a security issue per se, the confusion 915 and unexpected forwarding behavior may be engineered or exploited by 916 an attacker. Therefore, implementers and operators SHOULD pay 917 careful attention to the Manageability Considerations described in 918 Section 12. 920 12. Manageability Considerations 922 TBD 924 13. Acknowledgements 926 Thanks to Julian Lucek and Sudhir Cheruathur for useful discussions. 928 14. References 930 14.1. Normative References 932 [I-D.dhodylee-pce-pcep-ls] 933 Dhody, D., Lee, Y., and D. Ceccarelli, "PCEP Extension for 934 Distribution of Link-State and TE Information.", draft- 935 dhodylee-pce-pcep-ls-11 (work in progress), June 2018. 937 [I-D.ietf-idr-flow-spec-v6] 938 McPherson, D., Raszuk, R., Pithawala, B., 939 akarch@cisco.com, a., and S. Hares, "Dissemination of Flow 940 Specification Rules for IPv6", draft-ietf-idr-flow-spec- 941 v6-09 (work in progress), November 2017. 943 [I-D.ietf-idr-flowspec-l2vpn] 944 Weiguo, H., liangqiandeng, l., Uttaro, J., Litkowski, S., 945 and S. Zhuang, "Dissemination of Flow Specification Rules 946 for L2 VPN", draft-ietf-idr-flowspec-l2vpn-08 (work in 947 progress), July 2018. 949 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 950 Requirement Levels", BCP 14, RFC 2119, 951 DOI 10.17487/RFC2119, March 1997, 952 . 954 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 955 "Multiprotocol Extensions for BGP-4", RFC 4760, 956 DOI 10.17487/RFC4760, January 2007, 957 . 959 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 960 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 961 DOI 10.17487/RFC5440, March 2009, 962 . 964 [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax 965 Used to Form Encoding Rules in Various Routing Protocol 966 Specifications", RFC 5511, DOI 10.17487/RFC5511, April 967 2009, . 969 [RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J., 970 and D. McPherson, "Dissemination of Flow Specification 971 Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009, 972 . 974 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 975 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 976 May 2017, . 978 [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, 979 "PCEPS: Usage of TLS to Provide a Secure Transport for the 980 Path Computation Element Communication Protocol (PCEP)", 981 RFC 8253, DOI 10.17487/RFC8253, October 2017, 982 . 984 14.2. Informative References 986 [I-D.ietf-idr-flowspec-mpls-match] 987 Yong, L., Hares, S., liangqiandeng, l., and J. You, "BGP 988 Flow Specification Filter for MPLS Label", draft-ietf-idr- 989 flowspec-mpls-match-01 (work in progress), December 2016. 991 [I-D.ietf-pce-segment-routing] 992 Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 993 and J. Hardwick, "PCEP Extensions for Segment Routing", 994 draft-ietf-pce-segment-routing-14 (work in progress), 995 October 2018. 997 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 998 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 999 2006, . 1001 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 1002 Element (PCE)-Based Architecture", RFC 4655, 1003 DOI 10.17487/RFC4655, August 2006, 1004 . 1006 [RFC5088] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R. 1007 Zhang, "OSPF Protocol Extensions for Path Computation 1008 Element (PCE) Discovery", RFC 5088, DOI 10.17487/RFC5088, 1009 January 2008, . 1011 [RFC5089] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R. 1012 Zhang, "IS-IS Protocol Extensions for Path Computation 1013 Element (PCE) Discovery", RFC 5089, DOI 10.17487/RFC5089, 1014 January 2008, . 1016 [RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of 1017 BGP, LDP, PCEP, and MSDP Issues According to the Keying 1018 and Authentication for Routing Protocols (KARP) Design 1019 Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013, 1020 . 1022 [RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path 1023 Computation Element Architecture", RFC 7399, 1024 DOI 10.17487/RFC7399, October 2014, 1025 . 1027 [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., 1028 Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent 1029 Multicast - Sparse Mode (PIM-SM): Protocol Specification 1030 (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 1031 2016, . 1033 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1034 Writing an IANA Considerations Section in RFCs", BCP 26, 1035 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1036 . 1038 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 1039 Computation Element Communication Protocol (PCEP) 1040 Extensions for Stateful PCE", RFC 8231, 1041 DOI 10.17487/RFC8231, September 2017, 1042 . 1044 [RFC8232] Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X., 1045 and D. Dhody, "Optimizations of Label Switched Path State 1046 Synchronization Procedures for a Stateful PCE", RFC 8232, 1047 DOI 10.17487/RFC8232, September 2017, 1048 . 1050 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 1051 Computation Element Communication Protocol (PCEP) 1052 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 1053 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 1054 . 1056 [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An 1057 Architecture for Use of PCE and the PCE Communication 1058 Protocol (PCEP) in a Network with Central Control", 1059 RFC 8283, DOI 10.17487/RFC8283, December 2017, 1060 . 1062 Appendix A. Flow Specification TLV Types 1064 [Editor's Note: This section is added for illustration of various 1065 Types supported, some are inherited from BGP and others are defined 1066 in this document. This section might be removed at the time of final 1067 publication.] 1069 +-------+-------------------------+-----------------------------+ 1070 | Type | Description | Value defined in | 1071 | | | | 1072 +-------+-------------------------+-----------------------------+ 1073 | * | Destination IPv4 Prefix | [RFC5575] | 1074 +-------+-------------------------+-----------------------------+ 1075 | * | Destination IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] | 1076 +-------+-------------------------+-----------------------------+ 1077 | * | Source IPv4 Prefix | [RFC5575] | 1078 +-------+-------------------------+-----------------------------+ 1079 | * | Source IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] | 1080 +-------+-------------------------+-----------------------------+ 1081 | * | IP Protocol | [RFC5575] | 1082 +-------+-------------------------+-----------------------------+ 1083 | * | Next Header | [I-D.ietf-idr-flow-spec-v6] | 1084 +-------+-------------------------+-----------------------------+ 1085 | * | Port | [RFC5575] | 1086 +-------+-------------------------+-----------------------------+ 1087 | * | Destination port | [RFC5575] | 1088 +-------+-------------------------+-----------------------------+ 1089 | * | Source port | [RFC5575] | 1090 +-------+-------------------------+-----------------------------+ 1091 | * | ICMP type | [RFC5575] | 1092 +-------+-------------------------+-----------------------------+ 1093 | * | ICMP code | [RFC5575] | 1094 +-------+-------------------------+-----------------------------+ 1095 | * | TCP flags | [RFC5575] | 1096 +-------+-------------------------+-----------------------------+ 1097 | * | Packet length | [RFC5575] | 1098 +-------+-------------------------+-----------------------------+ 1099 | * | DSCP | [RFC5575] | 1100 +-------+-------------------------+-----------------------------+ 1101 | * | Fragment | [RFC5575] | 1102 +-------+-------------------------+-----------------------------+ 1103 | * | Flow Label | [I-D.ietf-idr-flow-spec-v6] | 1104 +-------+-------------------------+-----------------------------+ 1105 | * | Ethernet Type | [I-D.ietf-idr-flowspec- | 1106 | | | l2vpn] | 1107 +-------+-------------------------+-----------------------------+ 1108 | * | Source MAC | [I-D.ietf-idr-flowspec- | 1109 | | | l2vpn] | 1110 +-------+-------------------------+-----------------------------+ 1111 | * | Destination MAC | [I-D.ietf-idr-flowspec- | 1112 | | | l2vpn] | 1113 +-------+-------------------------+-----------------------------+ 1114 | * | DSAP in LLC | [I-D.ietf-idr-flowspec- | 1115 | | | l2vpn] | 1116 +-------+-------------------------+-----------------------------+ 1117 | * | SSAP in LLC | [I-D.ietf-idr-flowspec- | 1118 | | | l2vpn] | 1119 +-------+-------------------------+-----------------------------+ 1120 | * | Control field in LLC | [I-D.ietf-idr-flowspec- | 1121 | | | l2vpn] | 1122 +-------+-------------------------+-----------------------------+ 1123 | * | SNAP | [I-D.ietf-idr-flowspec- | 1124 | | | l2vpn] | 1125 +-------+-------------------------+-----------------------------+ 1126 | * | VLAN ID | [I-D.ietf-idr-flowspec- | 1127 | | | l2vpn] | 1128 +-------+-------------------------+-----------------------------+ 1129 | * | VLAN COS | [I-D.ietf-idr-flowspec- | 1130 | | | l2vpn] | 1131 +-------+-------------------------+-----------------------------+ 1132 | * | Inner VLAN ID | [I-D.ietf-idr-flowspec- | 1133 | | | l2vpn] | 1134 +-------+-------------------------+-----------------------------+ 1135 | * | Inner VLAN COS | [I-D.ietf-idr-flowspec- | 1136 | | | l2vpn] | 1137 +-------+-------------------------+-----------------------------+ 1138 | * | MPLS Label | [I-D.ietf-idr-flowspec-mpls-| 1139 | | | match] | 1140 +-------+-------------------------+-----------------------------+ 1141 | TBD5 | Route Distinguisher | [I-D.dhodylee-pce-pcep-ls] | 1142 +-------+-------------------------+-----------------------------+ 1143 | TBD6 | IPv4 Multicast Flow | [This.I-D] | 1144 +-------+-------------------------+-----------------------------+ 1145 | TBD7 | IPv6 Multicast Flow | [This.I-D] | 1146 +-------+-------------------------+-----------------------------+ 1148 * Indicates that the TLV Type value comes from the value used 1149 in BGP. 1150 This is a non-exhaustive list for illustration purpose. 1152 Figure 6: Table of Flow Specification TLV Types 1154 Appendix B. Contributors 1156 Shankara 1157 Huawei Technologies 1158 Divyashree Techno Park, 1159 Whitefield Bangalore, 1160 Karnataka 1161 560066 1162 India 1164 Email: shankara@huawei.com 1166 Qiandeng Liang 1167 Huawei Technologies 1168 101 Software Avenue, 1169 Yuhuatai District 1170 Nanjing 1171 210012 1172 China 1174 Email: liangqiandeng@huawei.com 1176 Cyril Margaria 1177 Juniper Networks 1178 200 Somerset Corporate Boulevard, Suite 4001 1179 Bridgewater, NJ 1180 08807 1181 USA 1183 Email: cmargaria@juniper.net 1185 Colby Barth 1186 Juniper Networks 1187 200 Somerset Corporate Boulevard, Suite 4001 1188 Bridgewater, NJ 1189 08807 1190 USA 1192 Email: cbarth@juniper.net 1194 Xia Chen 1195 Huawei Technologies 1196 Huawei Bld., No.156 Beiqing Rd. 1197 Beijing 1198 100095 1199 China 1200 Email: jescia.chenxia@huawei.com 1202 Shunwan Zhuang 1203 Huawei Technologies 1204 Huawei Bld., No.156 Beiqing Rd. 1205 Beijing 1206 100095 1207 China 1209 Email: zhuangshunwan@huawei.com 1211 Authors' Addresses 1213 Dhruv Dhody (editor) 1214 Huawei Technologies 1215 Divyashree Techno Park, Whitefield 1216 Bangalore, Karnataka 560066 1217 India 1219 Email: dhruv.ietf@gmail.com 1221 Adrian Farrel (editor) 1222 Juniper Networks 1224 Email: adrian@olddog.co.uk 1226 Zhenbin Li 1227 Huawei Technologies 1228 Huawei Bld., No.156 Beiqing Rd. 1229 Beijing 100095 1230 China 1232 Email: lizhenbin@huawei.com