idnits 2.17.1 draft-keyupate-bess-fat-pw-bgp-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 abstract seems to contain references ([RFC4761], [RFC6624], [RFC6391], [RFC4447]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. 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: A PE MAY support the configuration of the flow label (T and R bits) on a per-service (e.g. VPLS VFI) basis. Furthermore, it is also possible that on a given service, PEs may not share the same flow label settings. The presence of a flow label is therefore determined on a per-peer basis and according to the local and remote T and R bit values. For example, a PE part of a VPLS and with a local T = 1, must only transmit traffic with a flow label to those peers that signaled R = 1. And if the same PE has local R = 1, it must only expect to receive traffic with a flow label from peers with T = 1. Any other traffic MUST not have a flow label. == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 29, 2015) is 3278 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-l2vpn-vpls-multihoming' is defined on line 275, but no explicit reference was found in the text == Unused Reference: 'RFC2842' is defined on line 313, but no explicit reference was found in the text == Unused Reference: 'RFC2858' is defined on line 316, but no explicit reference was found in the text == Outdated reference: A later version (-07) exists of draft-ietf-l2vpn-vpls-multihoming-06 ** Downref: Normative reference to an Informational RFC: RFC 3985 ** Obsolete normative reference: RFC 4447 (Obsoleted by RFC 8077) -- Obsolete informational reference (is this intentional?): RFC 2842 (Obsoleted by RFC 3392) -- Obsolete informational reference (is this intentional?): RFC 2858 (Obsoleted by RFC 4760) Summary: 3 errors (**), 0 flaws (~~), 7 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Bess K. Patel 3 Internet-Draft S. Boutros 4 Intended status: Standards Track J. Liste 5 Expires: October 31, 2015 Cisco Systems 6 B. Wen 7 Comcast 8 J. Rabadan 9 Alcatel-Lucent 10 April 29, 2015 12 Extensions to BGP Signaled Pseudowires to support Flow-Aware Transport 13 Labels 14 draft-keyupate-bess-fat-pw-bgp-00.txt 16 Abstract 18 [RFC6391] describes a mechanism that uses an additional label (Flow 19 Label) in the MPLS label stack that allows Label Switch Routers to 20 balance flows within Pseudowires at a finer granularity than the 21 individual Pseudowires across the Equal Cost Multiple Paths (ECMPs) 22 that exists within the Packet Switched Network (PSN). 24 Furthermore,[RFC6391] defines the LDP protocol extensions required to 25 synchronize the flow label states between the ingress and egress PEs 26 when using the signaling procedures defined in the [RFC4447]. 28 This draft defines protocol extensions required to synchronize flow 29 label states among PEs when using the BGP-based signaling procedures 30 defined in [RFC4761]. These protocol extensions are equally 31 applicable to point-to-point L2VPNs defined in [RFC6624]. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at http://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on October 31, 2015. 50 Copyright Notice 52 Copyright (c) 2015 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (http://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 This document may contain material from IETF Documents or IETF 66 Contributions published or made publicly available before November 67 10, 2008. The person(s) controlling the copyright in some of this 68 material may not have granted the IETF Trust the right to allow 69 modifications of such material outside the IETF Standards Process. 70 Without obtaining an adequate license from the person(s) controlling 71 the copyright in such materials, this document may not be modified 72 outside the IETF Standards Process, and derivative works of it may 73 not be created outside the IETF Standards Process, except to format 74 it for publication as an RFC or to translate it into languages other 75 than English. 77 Table of Contents 79 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 80 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 81 2. Modifications to Layer 2 Info Extended Community . . . . . . 3 82 3. Signaling the Presence of the Flow Label . . . . . . . . . . 5 83 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 84 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 85 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 86 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 87 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 88 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 89 8.2. Informative References . . . . . . . . . . . . . . . . . 7 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 92 1. Introduction 94 A pseudowire (PW)[RFC3985] is normally transported over one single 95 network path, even if multiple Equal Cost Multiple Paths (ECMPs) 96 exist between the ingress and egress PW provider edge (PE) equipment. 97 This is required to preserve the characteristics of the emulated 98 service. The use of a single path to preserve the packet delivery 99 order remains the default mode of operation of a PW and is described 100 in [RFC4385], [RFC4928]. 102 Using the principles defined in [RFC6391], this draft augments the 103 BGP-signaling procedures of [RFC4761] and [RFC6624] to allow an 104 OPTIONAL mode that may be employed when the use of ECMPs is known to 105 be beneficial to the operation of the PW. 107 High bandwidth Ethernet-based services are a prime example that 108 benefits from the ability to load-balance flows in a PW over multiple 109 PSN paths. In general, load-balancing is applicable when the PW 110 attachment circuit bandwidth and PSN core link bandwidth are of same 111 order of magnitude. 113 To achieve the load-balancing goal,[RFC6391] introduces the notion of 114 an additional Label Stack Entry (LSE) (Flow label) located at the 115 bottom of the stack (right after PW LSE). Label Switching Routers 116 (LSRs) commonly generate a hash of the label stack in order to 117 discriminate and distribute flows over available ECMPs. The presence 118 of the Flow label (closely associated to a flow determined by the 119 ingress PE) will normally provide the greatest entropy. 121 Furthermore, following the procedures for Inter-AS scenarios 122 described in [RFC4761] section 3.4, the Flow label should never be 123 handled by the ASBRs, only the terminating PEs on each AS will be 124 responsible for popping or pushing this label. This is equally 125 applicable to Method B [section 3.4.2] of [RFC4761] where ASBRs are 126 responsible for swapping the PW label as traffic traverses from ASBR 127 to PE and ASBR to ASBR directions. Therefore, the Flow label will 128 remain untouched across AS boundaries. 130 1.1. Requirements Language 132 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 133 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 134 document are to be interpreted as described in RFC 2119 [RFC2119]. 136 2. Modifications to Layer 2 Info Extended Community 138 The Layer 2 Info Extended Community is used to signal control 139 information about the pseudowires to be setup. The extended 140 community format is described in [RFC4761]. The format of this 141 extended community is described as: 143 +------------------------------------+ 144 | Extended community type (2 octets) | 145 +------------------------------------+ 146 | Encaps Type (1 octet) | 147 +------------------------------------+ 148 | Control Flags (1 octet) | 149 +------------------------------------+ 150 | Layer-2 MTU (2 octet) | 151 +------------------------------------+ 152 | Reserved (2 octets) | 153 +------------------------------------+ 155 Layer 2 Info Extended Community 157 Control Flags: 159 This field contains bit flags relating to the control 160 information about pseudowires. This field is augmented with 161 a definition of 2 new flags field. 163 0 1 2 3 4 5 6 7 164 +-+-+-+-+-+-+-+-+ 165 |Z|Z|Z|T|R|Z|C|S| (Z = MUST Be Zero) 166 +-+-+-+-+-+-+-+-+ 168 Control Flags Bit Vector 170 With Reference to the Control Flags Bit Vector, the following bits in 171 the Control Flags are defined; the remaining bits, designated Z, MUST 172 be set to zero when sending and MUST be ignored when receiving this 173 Extended Community. 175 Z Must be set to Zero. 177 T When the bit value is 1, the PE is requesting the ability 178 to send a Pseudowire packet that includes a flow label. 179 When the bit value is 0, the PE is indicating that it will 180 not send a Pseudowire packet containing a flow label. 182 R When the bit value is 1, the PE is able to receive a 183 Pseudowire packet with a flow label present. When the bit 184 value is 0, the PE is unable to receive a Pseudowire packet 185 with the flow label present. 187 C Defined in [RFC4761]. 189 S Defined in [RFC4761]. 191 3. Signaling the Presence of the Flow Label 193 As part of the Pseudowire signaling procedures described in 194 [RFC4761], a Layer 2 Info Extended Community is advertised in the 195 VPLS BGP NLRI. This draft recommends that the Control Flags field of 196 this extended community be used to synchronize the flow label states 197 amongst PEs for a given L2VPN. 199 A PE that wishes to send a flow label in a Pseudowire packet MUST 200 include in its VPLS BGP NLRI a Layer 2 Info Extended Community using 201 Control Flags field with T = 1. 203 A PE that is willing to receive a flow label in a Pseudowire packet 204 MUST include in its VPLS BGP NLRI a Layer 2 Info Extended Community 205 using Control Flags field with R = 1. 207 A PE that receives a VPLS BGP NLRI containing a Layer 2 Info Extended 208 Community with R = 0 NUST NOT include a flow label in the Pseudowire 209 packet. 211 Therefore, a PE sending a Control Flags field with T = 1 and 212 receiving a Control Flags field with R = 1 MUST include a flow label 213 in the Pseudowire packet. Under all other combinations, a PE MUST 214 NOT include a flow label in the Pseudowire packet. 216 A PE MAY support the configuration of the flow label (T and R bits) 217 on a per-service (e.g. VPLS VFI) basis. Furthermore, it is also 218 possible that on a given service, PEs may not share the same flow 219 label settings. The presence of a flow label is therefore determined 220 on a per-peer basis and according to the local and remote T and R bit 221 values. For example, a PE part of a VPLS and with a local T = 1, 222 must only transmit traffic with a flow label to those peers that 223 signaled R = 1. And if the same PE has local R = 1, it must only 224 expect to receive traffic with a flow label from peers with T = 1. 225 Any other traffic MUST not have a flow label. 227 Modification of flow label settings may impact traffic over a PW as 228 these could trigger changes in the PEs data-plane programming (i.e. 229 imposition / disposition of flow label). This is an implementation 230 specific behavior and outside the scope of this draft 232 The signaling procedures in [RFC4761] state that the unspecified bits 233 in the Control Flags field (bits 0-5) MUST be set to zero when 234 sending and MUST be ignored when receiving. The signaling procedure 235 described here is therefore backwards compatible with existing 236 implementations. A PE not supporting the extensions described in 237 this draft will always advertise a value of ZERO in the position 238 assigned by this draft to the R bit and therefore a flow label will 239 never be included in a packet sent to it by one of its peers. 240 Similarly, it will always advertise a value of ZERO in the position 241 assigned by this draft to the T bit and therefore a peer will know 242 that a flow label will never be included in a packet sent by it. 244 Note that what is signaled is the desire to include the flow LSE in 245 the label stack. The value of the flow label is a local matter for 246 the ingress PE, and the label value itself is not signaled. 248 4. Acknowledgements 250 The authors would like to thank Bertrand Duvivier and John Drake for 251 their review and comments. 253 5. Contributors 255 In addition to the authors listed above, the following individuals 256 also contributed to this document: 258 Eric Lent 260 John Brzozowski 262 Steven Cotter 264 6. IANA Considerations 266 7. Security Considerations 268 This extension to BGP does not change the underlying security issues 269 inherent in the existing [RFC4271]. 271 8. References 273 8.1. Normative References 275 [I-D.ietf-l2vpn-vpls-multihoming] 276 Kothari, B., Kompella, K., Henderickx, W., Balus, F., 277 Uttaro, J., Palislamovic, S., and W. Lin, "BGP based 278 Multi-homing in Virtual Private LAN Service", draft-ietf- 279 l2vpn-vpls-multihoming-06 (work in progress), July 2013. 281 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 282 Requirement Levels", BCP 14, RFC 2119, March 1997. 284 [RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to- 285 Edge (PWE3) Architecture", RFC 3985, March 2005. 287 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 288 Protocol 4 (BGP-4)", RFC 4271, January 2006. 290 [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, 291 "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for 292 Use over an MPLS PSN", RFC 4385, February 2006. 294 [RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. 295 Heron, "Pseudowire Setup and Maintenance Using the Label 296 Distribution Protocol (LDP)", RFC 4447, April 2006. 298 [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service 299 (VPLS) Using BGP for Auto-Discovery and Signaling", RFC 300 4761, January 2007. 302 [RFC4928] Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal 303 Cost Multipath Treatment in MPLS Networks", BCP 128, RFC 304 4928, June 2007. 306 [RFC6391] Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan, 307 J., and S. Amante, "Flow-Aware Transport of Pseudowires 308 over an MPLS Packet Switched Network", RFC 6391, November 309 2011. 311 8.2. Informative References 313 [RFC2842] Chandra, R. and J. Scudder, "Capabilities Advertisement 314 with BGP-4", RFC 2842, May 2000. 316 [RFC2858] Bates, T., Rekhter, Y., Chandra, R., and D. Katz, 317 "Multiprotocol Extensions for BGP-4", RFC 2858, June 2000. 319 [RFC6624] Kompella, K., Kothari, B., and R. Cherukuri, "Layer 2 320 Virtual Private Networks Using BGP for Auto-Discovery and 321 Signaling", RFC 6624, May 2012. 323 Authors' Addresses 325 Keyur Patel 326 Cisco Systems 327 170 W. Tasman Drive 328 San Jose, CA 95134 329 USA 331 Email: keyupate@cisco.com 332 Sami Boutros 333 Cisco Systems 334 170 W. Tasman Drive 335 San Jose, CA 95134 336 USA 338 Email: sboutros@cisco.com 340 Jose Liste 341 Cisco Systems 342 170 W. Tasman Drive 343 San Jose, CA 95134 344 USA 346 Email: jliste@cisco.com 348 Bin Wen 349 Comcast 350 1701 John F Kennedy Blvd 351 Philadelphia, PA 19103 352 USA 354 Email: bin_wen@cable.comcast.com 356 Jorge Rabadan 357 Alcatel-Lucent 358 777 E. Middlefield Road 359 Mountain View, CA 94043 360 USA 362 Email: jorge.rabadan@alcatel-lucent.com