idnits 2.17.1 draft-ietf-idr-flowspec-l2vpn-01.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 abstract seems to contain references ([RFC5575]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 240: '..., the component type MUST not be used....' RFC 2119 keyword, line 252: '..., the component type MUST not be used....' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: In single VLAN case, the component type MUST not be used. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: In single VLAN case, the component type MUST not be used. -- The document date (May 9, 2015) is 3268 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: 'RFC5575' on line 362 -- Looks like a reference, but probably isn't: 'EVPN' on line 103 -- Looks like a reference, but probably isn't: 'RFC4761' on line 104 -- Looks like a reference, but probably isn't: 'RFC4762' on line 104 -- Looks like a reference, but probably isn't: 'RFC 6074' on line 105 == Missing Reference: '4761' is mentioned on line 109, but not defined == Missing Reference: '4762' is mentioned on line 109, but not defined == Missing Reference: '6074' is mentioned on line 110, but not defined == Unused Reference: '1' is defined on line 430, but no explicit reference was found in the text == Unused Reference: '2' is defined on line 433, but no explicit reference was found in the text == Unused Reference: '3' is defined on line 416, but no explicit reference was found in the text == Unused Reference: '4' is defined on line 420, but no explicit reference was found in the text == Unused Reference: '5' is defined on line 424, but no explicit reference was found in the text == Outdated reference: A later version (-11) exists of draft-ietf-l2vpn-evpn-07 -- Possible downref: Non-RFC (?) normative reference: ref. '2' Summary: 2 errors (**), 0 flaws (~~), 12 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 IDR W. Hao 2 Q. Liang 3 Internet Draft Huawei Technologies Ltd. 4 Intended status: Standards Track Jim Uttaro 5 AT&T 6 S. Litkowski 7 Orange Business Service 8 S. Zhuang 9 Huawei Technologies Ltd. 10 Expires: November 2015 May 9, 2015 12 Dissemination of Flow Specification Rules for L2 VPN 13 draft-ietf-idr-flowspec-l2vpn-01.txt 15 Abstract 17 This document defines BGP flow-spec extension for Ethernet traffic 18 filtering in L2 VPN network. SAFI=134 in [RFC5575] is redefined for 19 dissemination traffic filtering information in an L2VPN environment. 20 A new subset of component types and extended community also are 21 defined. 23 Status of this Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF), its areas, and its working groups. Note that 30 other groups may also distribute working documents as Internet- 31 Drafts. 33 Internet-Drafts are draft documents valid for a maximum of six 34 months and may be updated, replaced, or obsoleted by other documents 35 at any time. It is inappropriate to use Internet-Drafts as 36 reference material or to cite them other than as "work in progress." 38 The list of current Internet-Drafts can be accessed at 39 http://www.ietf.org/1id-abstracts.html 41 The list of Internet-Draft Shadow Directories can be accessed at 42 http://www.ietf.org/shadow.html. 44 Copyright Notice 46 Copyright (c) 2015 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with 54 respect to this document. Code Components extracted from this 55 document must include Simplified BSD License text as described in 56 Section 4.e of the Trust Legal Provisions and are provided without 57 warranty as described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction ................................................ 2 62 2. Layer 2 Flow Specification encoding in BGP................... 3 63 3. Ethernet Flow Specification encoding in BGP.................. 4 64 4. Ethernet Flow Specification Traffic Actions.................. 6 65 5. Security Considerations...................................... 8 66 6. IANA Considerations ......................................... 8 67 6.1. Normative References................................... 10 68 6.2. Informative References................................. 10 69 7. Acknowledgments ............................................ 10 71 1. Introduction 73 BGP Flow-spec is an extension to BGP that allows for the 74 dissemination of traffic flow specification rules. It leverages the 75 BGP Control Plane to simplify the distribution of ACLs, new filter 76 rules can be injected to all BGP peers simultaneously without 77 changing router configuration. The typical application of BGP Flow- 78 spec is to automate the distribution of traffic filter lists to 79 routers for DDOS mitigation. 81 RFC5575 defines a new BGP Network Layer Reachability Information 82 (NLRI) format used to distribute traffic flow specification rules. 83 NLRI (AFI=1, SAFI=133)is for IPv4 unicast filtering. NLRI (AFI=1, 84 SAFI=134)is for BGP/MPLS VPN filtering. The Flow specification match 85 part only includes L3/L4 information like source/destination prefix, 86 protocol, ports, and etc, so traffic flows can only be selectively 87 filtered based on L3/L4 information. 89 Layer 2 Virtual Private Networks L2VPNs have already been deployed 90 in an increasing number of networks today. In L2VPN network, we also 91 have requirement to deploy BGP Flow-spec to mitigate DDoS attack 92 traffic. Within L2VPN network, both IP and non-IP Ethernet traffic 93 maybe exist. For IP traffic filtering, the Flow specification rules 94 defined in [RFC5575] which include match criteria and actions can 95 still be used, flow specification rules received via new NLRI format 96 apply only to traffic that belongs to the VPN instance(s) in which 97 it is imported. For non-IP Ethernet traffic filtering, Layer 2 98 related information like source/destination MAC and VLAN should be 99 considered. But the flow specification match criteria defined in 100 RFC5575 only include layer 3 and layer 4 IP information, layer 2 101 Ethernet information haven't been included. 103 There are different kinds of L2VPN networks like EVPN [EVPN], BGP 104 VPLS [RFC4761], LDP VPLS [RFC4762] and border gateway protocol (BGP) 105 auto discovery [RFC 6074]. Because the flow-spec feature relies on 106 BGP protocol to distribute traffic filtering rules, so it can only 107 be incrementally deployed in those L2VPN networks where BGP is used 108 for auto discovery and/or signaling purposes such as BGP-based VPLS 109 [4761], EVPN and LDP-based VPLS [4762] with BGP auto-discovery 110 [6074]. 112 This draft proposes a new subset of component types and extended 113 community to support L2VPN flow-spec application. SAFI=134 in 114 [RFC5575] is redefined for dissemination traffic filtering 115 information in an L2VPN environment. 117 2. Layer 2 Flow Specification encoding in BGP 119 The [RFC5575] defines SAFI 133 and SAFI 134 for ''dissemination of 120 IPv4 flow specification rules'' and ''dissemination of VPNv4 flow 121 specification rules'' respectively. [draft-ietf-idr-flow-spec-v6-06] 122 redefines the [RFC5575] SAFIs in order to make them applicable to 123 both IPv4 and IPv6 applications. This document will further redefine 124 the SAFI 134 in order to make them applicable to L2VPN applications. 126 The following changes are defined: 128 ''SAFI 134 for dissemination of L3VPN flow specification rules'' to 129 now be defined as ''SAFI 134 for dissemination of VPN flow 130 specification rules'' 132 For SAFI 134 the indication to which address family it is referring 133 to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and 134 AFI=25 for L2VPN). Such modification is fully backwards compatible 135 with existing implementation and production deployments. 137 3. Ethernet Flow Specification encoding in BGP 139 The NLRI format for this address family consists of a fixed-length 140 Route Distinguisher field (8 bytes) followed by a flow specification, 141 following the encoding defined in this document. The NLRI length 142 field shall include both the 8 bytes of the Route Distinguisher as 143 well as the subsequent flow specification. 145 Flow specification rules received via this NLRI apply only to 146 traffic that belongs to the VPN instance(s) in which it is imported. 147 Flow rules are accepted by default, when received from remote PE 148 routers. 150 Besides the component types defined in [RFC5575] and [draft-ietf- 151 idr-flow-spec-v6-06], this document proposes the following 152 additional component types for L2VPN Ethernet traffic filtering: 154 Type 14 - Source MAC 156 Encoding: 158 Defines a list of {operation(op), value} pairs used to match source 159 MAC. Values are encoded as 6-byte quantities. The operation field is 160 encoded as ''Numeric operator'' defined in [RFC5575]. 162 Type 15 - Destination MAC 164 Encoding: 166 Defines a list of {operation, value} pairs used to match destination 167 MAC. Values are encoded as 6-byte quantities. 169 Type 16 - Ethernet Type 171 Encoding: 173 Defines a list of {operation, value} pairs used to match two-octet 174 field. Values are encoded as 2-byte quantities. 176 Ethernet II framing defines the two-octet EtherType field in an 177 Ethernet frame, preceded by destination and source MAC addresses, 178 that identifies an upper layer protocol encapsulating the frame data. 180 Type 17 - DSAP(Destination Service Access Point) in LLC 182 Encoding: 183 Defines a list of {operation, value} pairs used to match 1-octet 184 DSAP in the 802.2 LLC(Logical Link Control Header). Values are 185 encoded as 1-byte quantities. 187 Type 18 - SSAP(Source Service Access Point) in LLC 189 Encoding: 191 Defines a list of {operation, value} pairs used to match 1-octet 192 SSAP in the 802.2 LLC. Values are encoded as 1-byte quantities. 194 Type 19 - Control field in LLC 196 Encoding: 198 Defines a list of {operation, value} pairs used to match 1-octet 199 control field in the 802.2 LLC. Values are encoded as 1-byte 200 quantities. 202 Type 20 - SNAP 204 Encoding: 206 Defines a list of {operation, value} pairs used to match 5-octet 207 SNAP(Sub-Network Access Protocol) field. Values are encoded as 5- 208 byte quantities. 210 Type 21 - VLAN ID 212 Encoding: 214 Defines a list of {operation, value} pairs used to match VLAN ID. 215 Values are encoded as 1- or 2-byte quantities. 217 In virtual local-area network (VLAN) stacking case, the VLAN ID is 218 outer VLAN ID. 220 Type 22 - VLAN COS 222 Encoding: 224 Defines a list of {operation, value} pairs used to match 3-bit VLAN 225 COS fields [802.1p]. Values are encoded using a single byte, where 226 the five most significant bits are zero and the three least 227 significant bits contain the VLAN COS value. 229 In virtual local-area network (VLAN) stacking case, the VLAN COS is 230 outer VLAN COS. 232 Type 23 - Inner VLAN ID 234 Encoding: 236 Defines a list of {operation, value} pairs used to match inner VLAN 237 ID using for virtual local-area network (VLAN) stacking or Q in Q 238 case. Values are encoded as 1- or 2-byte quantities. 240 In single VLAN case, the component type MUST not be used. 242 Type 24 - Inner VLAN COS 244 Encoding: 246 Defines a list of {operation, value} pairs used to match 3-bit inner 247 VLAN COS fields [802.1p] using for virtual local-area network (VLAN) 248 stacking or Q in Q case. Values are encoded using a single byte, 249 where the five most significant bits are zero and the three least 250 significant bits contain the VLAN COS value. 252 In single VLAN case, the component type MUST not be used. 254 4. Ethernet Flow Specification Traffic Actions 256 +--------+--------------------+--------------------------+ 257 | type | extended community | encoding | 258 +--------+--------------------+--------------------------+ 259 | 0x8006 | traffic-rate | 2-byte as#, 4-byte float | 260 | 0x8007 | traffic-action | bitmask | 261 | 0x8008 | redirect | 6-byte Route Target | 262 | 0x8009 | traffic-marking | DSCP value | 263 +--------+--------------------+--------------------------+ 264 Besides to support the above extended communities per RFC5575, this 265 document also proposes the following BGP extended communities 266 specifications for Ethernet flow to extend [RFC5575]: 268 +--------+------------------------+--------------------------+ 269 | type | extended community | encoding | 270 +--------+------------------------+--------------------------+ 271 | 0x800A | VLAN-action | bitmask | 272 | 0x800B | TPID-action | bitmask | 273 +--------+------------------------+--------------------------+ 275 VLAN-action: The VLAN-action extended community consists of 6 bytes 276 which include the fields of action Flags, and two VLAN ID/COS value. 277 The action Flags field includes PO, PU, SW, RI, RO, CI and CO Flag 278 to indicate the action type. The two VLAN ID/COS value are carried 279 in COS1/VLAN ID1 and COS2/VLAN ID2 field respectively. 281 0 15 282 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 283 |PO|PU|SW|RI|RO|CI|CO| Resv | 284 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 285 | COS1 |R | VLAN ID1 | 286 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 287 | COS2 |R | VLAN ID2 | 288 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 290 PO: Pop action. It indicates the outmost VLAN should be removed. 292 PU: Push action. It indicates a new VLAN should be added as outmost 293 VLAN, the new VLAN is VLAN ID1. 295 SW: Swap action. It indicates the outer VLAN and inner VLAN should 296 be swapped. 298 RI: Rewrite inner VLAN action. It indicates the inner VLAN should be 299 replaced by a new VLAN, the new VLAN is VLAN ID1. 301 RO: Rewrite outer VLAN action. It indicates the outer VLAN should be 302 replaced by a new VLAN, the new VLAN is VLAN ID2. 304 CI: Mapping inner COS action. It indicates the inner COS should be 305 replaced by a new COS, the new COS is COS1. 307 CO: Mapping outer COS action. It indicates the outer COS should be 308 replaced by a new COS, the new COS is COS2. 310 Resv: Reserved for future use. 312 COS1: 3 bits. COS value. 314 COS2: 3 bits. COS value. 316 VLAN ID1: 12 bits. VLAN ID value. 318 VLAN ID2: 12 bits. VLAN ID value. 320 R: Reserved for future use. 322 TPID-action: The TPID-action extended community consists of 6 bytes 323 which include the fields of action Flags, TPID1 and TPID2. 325 0 15 326 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 327 |TI|TO| Resv | 328 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 329 | TP ID1 | 330 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 331 | TP ID2 | 332 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 334 TI: Mapping inner TP ID action. It indicates the inner TP ID should 335 be replaced by a new TP ID, the new TP ID is TP ID1. 337 TO: Mapping outer TP ID action. It indicates the outer TP ID should 338 be replaced by a new TP ID, the new TP ID is TP ID2. 340 Resv: Reserved for future use. 342 In some cases, some more complicated actions are needed, such as 343 SwapPop, PushSwap, etc. These actions can be represented using two 344 catenated VLAN-actions which are carried in two VLAN-action extended 345 communities. For example, Swap and Pop action can be represented by 346 catenation of Swap action 1 and Pop action 2. 348 5. Security Considerations 350 No new security issues are introduced to the BGP protocol by this 351 specification. 353 6. IANA Considerations 355 IANA is requested to rename currently defined SAFI 134 per [RFC5575] 356 to read: 358 134 VPN dissemination of flow specification rules 360 IANA is requested to create and maintain a new registry for "Flow 361 spec L2VPN Component Types". For completeness, the types defined in 362 [RFC5575] and [draft-ietf-idr-flow-spec-v6-06] also are listed here. 364 +--------+-------------------------------+--------------------------+ 365 | type | RFC or Draft | discription | 366 +--------+-------------------------------+--------------------------+ 367 | 1 |RFC5575 | Destination Prefix | 368 | 1 |draft-ietf-idr-flow-spec-v6-06 | Destination IPv6 Prefix | 369 | 2 |RFC5575 | Source Prefix | 370 | 2 |draft-ietf-idr-flow-spec-v6-06 | Source IPv6 Prefix | 371 | 3 |RFC5575 | IP Protocol | 372 | 3 |draft-ietf-idr-flow-spec-v6-06 | Next Header | 373 | 4 |RFC5575 | Port | 374 | 5 |RFC5575 | Destination port | 375 | 6 |RFC5575 | Source port | 376 | 7 |RFC5575 | ICMP type | 377 | 8 |RFC5575 | ICMP code | 378 | 9 |RFC5575 | TCP flags | 379 | 10 |RFC5575 | Packet length | 380 | 11 |RFC5575 | DSCP | 381 | 12 |RFC5575 | Fragment | 382 | 13 |draft-ietf-idr-flow-spec-v6-06 | Flow Label | 383 | 14 |This draft | Source MAC | 384 | 15 |This draft | Destination MAC | 385 | 16 |This draft | Ethernet Type | 386 | 17 |This draft | DSAP in LLC | 387 | 18 |This draft | SSAP in LLC | 388 | 19 |This draft | Control field in LLC | 389 | 20 |This draft | SNAP | 390 | 21 |This draft | VLAN ID | 391 | 22 |This draft | VLAN COS | 392 | 23 |This draft | Inner VLAN ID | 393 | 24 |This draft | Inner VLAN COS | 394 +--------+-------------------------------+--------------------------+ 395 IANA is requested to update the reference for the following 396 assignment in the "BGP Extended Communities Type - extended, 397 transitive" registry: 399 Type value Name Reference 401 ---------- ---------------------------------------- --------- 403 0x080A Flow spec VLAN action [this document] 404 0x080B Flow spec TPID action [this document] 406 6.1. Normative References 408 [1] [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 410 Requirement Levels", BCP 14, RFC 2119, March 1997. 412 [2] [RFC5575] P. Marques, N. Sheth, R. Raszuk, B. Greene, J.Mauch, 413 D. McPherson, "Dissemination of Flow Specification Rules", RFC 414 5575, August 2009. 416 [3] [RFC4761] K. Kompella, Ed., Y. Rekhter, Ed., "Virtual Private 417 LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", 418 RFC4761, January 2007. 420 [4] [RFC4762] M. Lasserre, Ed., V. Kompella, Ed., "Virtual Private 421 LAN Service (VPLS) Using Label Distribution Protocol (LDP) 422 Signaling", RFC4762, January 2007. 424 [5] [RFC6074] E. Rosen, B. Davie, V. Radoaca, "Provisioning, Auto- 425 Discovery, and Signaling in Layer 2 Virtual Private Networks 426 (L2VPNs)", RFC6074, January 2011. 428 6.2. Informative References 430 [1] [EVPN] Sajassi et al., "BGP MPLS Based Ethernet VPN", draft- 431 ietf-l2vpn-evpn-07.txt, work in progress, May, 2014. 433 [2] [IEEE 802.1p] Javin, et.al. "IEEE 802.1p: LAN Layer 2 QoS/CoS 434 Protocol for Traffic Prioritization", 2012-02-15 436 7. Acknowledgments 438 The authors wish to acknowledge the important contributions of 439 Hannes Gredler, Xiaohu Xu and Lucy Yong. 441 Authors' Addresses 443 Weiguo Hao 444 Huawei Technologies 445 101 Software Avenue, 446 Nanjing 210012 447 China 448 Email: haoweiguo@huawei.com 450 Qiandeng Liang 451 Huawei Technologies 452 101 Software Avenue, 453 Nanjing 210012 454 China 455 Email: liangqiandeng@huawei.com 457 Shunwan Zhuang 458 Huawei Technologies 459 Huawei Bld., No.156 Beiqing Rd. 460 Beijing 100095 461 China 462 Email: zhuangshunwan@huawei.com 464 James Uttaro 465 AT&T 466 EMail: uttaro@att.com 468 Stephane Litkowski 469 Orange 470 stephane.litkowski@orange.com