draft-ietf-bess-fat-pw-bgp-02.txt   draft-ietf-bess-fat-pw-bgp-03.txt 
INTERNET-DRAFT K. Patel INTERNET-DRAFT K. Patel
Intended Status: Standard Track Arrcus Intended Status: Standard Track Arrcus
S. Boutros Updates: 4761 S. Boutros
VMware VMware
J. Liste J. Liste
Cisco Cisco
B. Wen B. Wen
Comcast Comcast
J. Rabadan J. Rabadan
Nokia Nokia
Expires: September 28, 2017 March 27, 2017 Expires: February 24, 2018 August 23, 2017
Extensions to BGP Signaled Pseudowires to support Flow-Aware Transport Extensions to BGP Signaled Pseudowires to support Flow-Aware Transport
Labels Labels
draft-ietf-bess-fat-pw-bgp-02.txt draft-ietf-bess-fat-pw-bgp-03
Abstract Abstract
[RFC6391] describes a mechanism that uses an additional label (Flow
Label) in the MPLS label stack that allows Label Switch Routers to
balance flows within Pseudowires at a finer granularity than the
individual Pseudowires across the Equal Cost Multiple Paths (ECMPs)
that exists within the Packet Switched Network (PSN).
Furthermore,[RFC6391] defines the LDP protocol extensions required to
synchronize the flow label states between the ingress and egress PEs
when using the signaling procedures defined in the [RFC4447].
This draft defines protocol extensions required to synchronize flow This draft defines protocol extensions required to synchronize flow
label states among PEs when using the BGP-based signaling procedures label states among PEs when using the BGP-based signaling procedures.
defined in [RFC4761]. These protocol extensions are equally These protocol extensions are equally applicable to point-to-point
applicable to point-to-point L2VPNs defined in [RFC6624]. Layer2 Virtual Private Networks (L2VPNs). This draft updates RFC 4761
by defining new flags in the Control Flags field of the Layer2 Info
Extended Community.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 2, line 31 skipping to change at page 2, line 23
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Requirements Language . . . . . . . . . . . . . . . . . . . 3 1.1 Requirements Language . . . . . . . . . . . . . . . . . . . 4
2. Modifications to Layer 2 Info Extended Community . . . . . . . 4 2. Modifications to Layer2 Info Extended Community . . . . . . . . 5
3. Signaling the Presence of the Flow Label . . . . . . . . . . . 5 3. Signaling the Presence of the Flow Label . . . . . . . . . . . 6
4 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 4 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
1 Introduction 1 Introduction
A pseudowire (PW)[RFC3985] is normally transported over one single The mechanism described in [RFC6391] uses an additional label (Flow
network path, even if multiple Equal Cost Multiple Paths (ECMPs) Label) in the MPLS label stack to allow Label Switch Routers to
exist between the ingress and egress PW provider edge (PE) equipment. balance flows within Pseudowires at a finer granularity than the
individual Pseudowires across the Equal Cost Multiple Paths (ECMPs)
that exists within the Packet Switched Network (PSN).
This is required to preserve the characteristics of the emulated Furthermore, [RFC6391] defines the LDP protocol extensions required
service. The use of a single path to preserve the packet delivery to synchronize the flow label states between the ingress and egress
order remains the default mode of operation of a PW and is described PEs when using the signaling procedures defined in the [RFC8077].
in [RFC4385], [RFC4928].
Using the principles defined in [RFC6391], this draft augments the A pseudowire (PW) [RFC3985] is transported over one single network
BGP-signaling procedures of [RFC4761] and [RFC6624] to allow an path, even if Equal Cost Multiple Paths (ECMPs) exist between the
OPTIONAL mode that may be employed when the use of ECMPs is known to ingress and egress PW provider edge (PE) equipment. This is required
be beneficial to the operation of the PW. to preserve the characteristics of the emulated service.
This draft introduces an OPTIONAL mode of operation allowing to
transport a PW over ECMPs, for example when the use of these is known
to be beneficial to the operation of the PW. This specification uses
the principles defined in [RFC6391], and augments the BGP-signaling
procedures of [RFC4761] and [RFC6624]. The use of a single path to
preserve the packet delivery order remains the default mode of
operation of a PW, and is described in [RFC4385] and [RFC4928].
High bandwidth Ethernet-based services are a prime example that High bandwidth Ethernet-based services are a prime example that
benefits from the ability to load-balance flows in a PW over multiple benefits from the ability to load-balance flows in a PW over multiple
PSN paths. In general, load-balancing is applicable when the PW PSN paths. In general, load-balancing is applicable when the PW
attachment circuit bandwidth and PSN core link bandwidth are of same attachment circuit bandwidth and PSN core link bandwidth are of same
order of magnitude. order of magnitude.
To achieve the load-balancing goal,[RFC6391] introduces the notion of To achieve the load-balancing goal, [RFC6391] introduces the notion
an additional Label Stack Entry (LSE) (Flow label) located at the of an additional Label Stack Entry (LSE) (Flow label) located at the
bottom of the stack (right after PW LSE). Label Switching Routers bottom of the stack (right after PW LSE). Label Switching Routers
(LSRs) commonly generate a hash of the label stack in order to (LSRs) commonly generate a hash of the label stack in order to
discriminate and distribute flows over available ECMPs. The presence discriminate and distribute flows over available ECMPs. The presence
of the Flow label (closely associated to a flow determined by the of the Flow label (closely associated to a flow determined by the
ingress PE) will normally provide the greatest entropy. ingress PE) will normally provide the greatest entropy.
Furthermore, following the procedures for Inter-AS scenarios Furthermore, following the procedures for Inter-AS scenarios
described in [RFC4761] section 3.4, the Flow label should never be described in [RFC4761] section 3.4, the Flow label should never be
handled by the ASBRs, only the terminating PEs on each AS will be handled by the ASBRs, only the terminating PEs on each AS will be
responsible for popping or pushing this label. This is equally responsible for popping or pushing this label. This is equally
applicable to Method B [section 3.4.2] of [RFC4761] where ASBRs are applicable to Method B [RFC4761] section 3.4.2 where ASBRs are
responsible for swapping the PW label as traffic traverses from ASBR responsible for swapping the PW label as traffic traverses from ASBR
to PE and ASBR to ASBR directions. Therefore, the Flow label will to PE and ASBR to ASBR directions. Therefore, the Flow label will
remain untouched across AS boundaries. remain untouched across AS boundaries.
1.1 Requirements Language 1.1 Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Modifications to Layer 2 Info Extended Community 2. Modifications to Layer2 Info Extended Community
The Layer 2 Info Extended Community is used to signal control The Layer2 Info Extended Community is used to signal control
information about the pseudowires to be setup. The extended information about the pseudowires to be setup. The extended community
community format is described in [RFC4761]. The format of this format is described in [RFC4761]. The format of this extended
extended community is described as: community is described as:
+------------------------------------+ +------------------------------------+
| Extended community type (2 octets) | | Extended community type (2 octets) |
+------------------------------------+ +------------------------------------+
| Encaps Type (1 octet) | | Encaps Type (1 octet) |
+------------------------------------+ +------------------------------------+
| Control Flags (1 octet) | | Control Flags (1 octet) |
+------------------------------------+ +------------------------------------+
| Layer-2 MTU (2 octet) | | Layer-2 MTU (2 octet) |
+------------------------------------+ +------------------------------------+
| Reserved (2 octets) | | Reserved (2 octets) |
+------------------------------------+ +------------------------------------+
Figure 1: Layer 2 Info Extended Community Figure 1: Layer2 Info Extended Community
Control Flags: Control Flags:
This field contains bit flags relating to the control information This field contains bit flags relating to the control information
about pseudowires. This field is augmented with a definition of 2 new about pseudowires. This field is augmented with a definition of 2 new
flags field. flags field.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|Z|Z|Z|Z|T|R|C|S| (Z = MUST Be Zero) |Z|Z|Z|Z|T|R|C|S| (Z = MUST Be Zero)
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Figure 2: Control Flags Bit Vector Figure 2: Control Flags Bit Vector
With Reference to the Control Flags Bit Vector, the following bits in With reference to the Control Flags Bit Vector, the following bits in
the Control Flags are defined; the remaining bits, designated Z, MUST the Control Flags are defined; the remaining bits, designated Z, MUST
be set to zero when sending and MUST be ignored when receiving this be set to zero when sending and MUST be ignored when receiving this
Extended Community. Extended Community.
Z Must be set to Zero.
T When the bit value is 1, the PE is requesting the ability T When the bit value is 1, the PE is requesting the ability
to send a Pseudowire packet that includes a flow label. to send a Pseudowire packet that includes a flow label.
When the bit value is 0, the PE is indicating that it will When the bit value is 0, the PE is indicating that it will
not send a Pseudowire packet containing a flow label. not send a Pseudowire packet containing a flow label.
R When the bit value is 1, the PE is able to receive a R When the bit value is 1, the PE is able to receive a
Pseudowire packet with a flow label present. When the bit Pseudowire packet with a flow label present. When the bit
value is 0, the PE is unable to receive a Pseudowire packet value is 0, the PE is unable to receive a Pseudowire packet
with the flow label present. with the flow label present.
C Defined in [RFC4761]. C Defined in [RFC4761].
S Defined in [RFC4761]. S Defined in [RFC4761].
3. Signaling the Presence of the Flow Label 3. Signaling the Presence of the Flow Label
As part of the Pseudowire signaling procedures described in As part of the Pseudowire signaling procedures described in
[RFC4761], a Layer 2 Info Extended Community is advertised in the [RFC4761], a Layer2 Info Extended Community is advertised in the VPLS
VPLS BGP NLRI. This draft recommends that the Control Flags field of BGP NLRI.
this extended community be used to synchronize the flow label states
amongst PEs for a given L2VPN.
A PE that wishes to send a flow label in a Pseudowire packet MUST A PE that wishes to send a flow label in a Pseudowire packet MUST
include in its VPLS BGP NLRI a Layer 2 Info Extended Community using include in its VPLS BGP NLRI a Layer2 Info Extended Community using
Control Flags field with T = 1. Control Flags field with T = 1.
A PE that is willing to receive a flow label in a Pseudowire packet A PE that is willing to receive a flow label in a Pseudowire packet
MUST include in its VPLS BGP NLRI a Layer 2 Info Extended Community MUST include in its VPLS BGP NLRI a Layer2 Info Extended Community
using Control Flags field with R = 1. using Control Flags field with R = 1.
A PE that receives a VPLS BGP NLRI containing a Layer 2 Info Extended A PE that receives a VPLS BGP NLRI containing a Layer2 Info Extended
Community with R = 0 NUST NOT include a flow label in the Pseudowire Community with R = 0 NUST NOT include a flow label in the Pseudowire
packet. packet.
Therefore, a PE sending a Control Flags field with T = 1 and Therefore, a PE sending a Control Flags field with T = 1 and
receiving a Control Flags field with R = 1 MUST include a flow label receiving a Control Flags field with R = 1 MUST include a flow label
in the Pseudowire packet. Under all other combinations, a PE MUST in the Pseudowire packet. Under all other combinations, a PE MUST
NOT include a flow label in the Pseudowire packet. NOT include a flow label in the Pseudowire packet.
A PE MAY support the configuration of the flow label (T and R bits) 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 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 possible that on a given service, PEs may not share the same flow
label settings. The presence of a flow label is therefore determined 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 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, 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 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 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. expect to receive traffic with a flow label from peers with T = 1.
Any other traffic MUST NOT have a flow label. A PE expecting to
Any other traffic MUST not have a flow label. receive traffic from a remote peer with a flow label MAY drop traffic
that has no flow label. A PE expecting to receive traffic from a
remote peer with no flow label MAY drop traffic that has flow label.
Modification of flow label settings may impact traffic over a PW as Modification of flow label settings may impact traffic over a PW as
these could trigger changes in the PEs data-plane programming (i.e. these could trigger changes in the PEs data-plane programming (i.e.
imposition / disposition of flow label). This is an implementation imposition / disposition of flow label). This is an implementation
specific behavior and outside the scope of this draft. specific behavior and outside the scope of this draft.
The signaling procedures in [RFC4761] state that the unspecified bits The signaling procedures in [RFC4761] state that the unspecified bits
in the Control Flags field (bits 0-5) MUST be set to zero when in the Control Flags field (bits 0-5) MUST be set to zero when
sending and MUST be ignored when receiving. The signaling procedure sending and MUST be ignored when receiving. The signaling procedure
described here is therefore backwards compatible with existing described here is therefore backwards compatible with existing
skipping to change at page 6, line 46 skipping to change at page 7, line 44
also contributed to this document: also contributed to this document:
Eric Lent Eric Lent
John Brzozowski John Brzozowski
Steven Cotter Steven Cotter
6. IANA Considerations 6. IANA Considerations
Although [RFC4761] defined a Control Flags Bit Vector as part of the
Layer2 Info Extended Community, it did not ask for the creation of a
registry.
This document requests that IANA creates a registry for this bit
vector and that it be called the "Layer2 Info Extended Community
Control Flags Bit Vector" registry.
This registry should be created here:
https://www.iana.org/assignments/bgp-extended-communities/bgp-
extended-communities.xhtml
The allocation policy for this registry is IETF Review as per
[RFC8126].
Considering [RFC4761] and this document, the initial registry is as
follows:
Value Name Reference
----- -------------------------------- --------------
S Sequenced delivery of frames RFC4761
C Presence of a Control Word RFC4761
T Request to send a flow label This document
R Ability to receive a flow label This document
As per [RFC4761] and this document, the remaining bits are
unassigned, and MUST be set to zero when sending and MUST be ignored
when receiving the Layer2 Info Extended Community.
7. Security Considerations 7. Security Considerations
This extension to BGP does not change the underlying security issues This extension to BGP does not change the underlying security issues
inherent in the existing [RFC4271]. inherent in the existing [RFC4271].
8. References 8. References
8.1. Normative References
[I-D.ietf-l2vpn-vpls-multihoming] Kothari, B., Kompella, K., 8.1. Normative References
Henderickx, W., Balus, F., Uttaro, J., Palislamovic, S., and W. Lin,
"BGP based Multi-homing in Virtual Private LAN Service", draft-ietf-
l2vpn-vpls-multihoming-06 (work in progress), July 2013.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March
1997, <http://www.rfc-editor.org/info/rfc2119>. 1997, <http://www.rfc-editor.org/info/rfc2119>.
[RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation
Edge-to-Edge (PWE3) Architecture", RFC 3985, DOI 10.17487/RFC3985,
March 2005, <http://www.rfc-editor.org/info/rfc3985>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271,
January 2006, <http://www.rfc-editor.org/info/rfc4271>. January 2006, <http://www.rfc-editor.org/info/rfc4271>.
[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
"Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over
an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385, February 2006, an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385, February 2006,
<http://www.rfc-editor.org/info/rfc4385>. <http://www.rfc-editor.org/info/rfc4385>.
[RFC4447] Martini, L., Ed., Rosen, E., El-Aawar, N., Smith, T., and [RFC8077] Martini, L., and G. Heron, "Pseudowire Setup and
G. Heron, "Pseudowire Setup and Maintenance Using the Label Maintenance Using the Label Distribution Protocol (LDP)", RFC 8077,
Distribution Protocol (LDP)", RFC 4447, DOI 10.17487/RFC4447, April DOI 10.17487/RFC8077, February 2017, <http://www.rfc-
2006, <http://www.rfc-editor.org/info/rfc4447>. editor.org/info/rfc8077>.
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", RFC LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", RFC
4761, DOI 10.17487/RFC4761, January 2007, <http://www.rfc- 4761, DOI 10.17487/RFC4761, January 2007, <http://www.rfc-
editor.org/info/rfc4761>. editor.org/info/rfc4761>.
[RFC4928] Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal [RFC4928] Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal
Cost Multipath Treatment in MPLS Networks", BCP 128, RFC 4928, DOI Cost Multipath Treatment in MPLS Networks", BCP 128, RFC 4928, DOI
10.17487/RFC4928, June 2007, <http://www.rfc- 10.17487/RFC4928, June 2007, <http://www.rfc-
editor.org/info/rfc4928>. editor.org/info/rfc4928>.
[RFC6391] Bryant, S., Ed., Filsfils, C., Drafz, U., Kompella, V., [RFC6391] Bryant, S., Ed., Filsfils, C., Drafz, U., Kompella, V.,
Regan, J., and S. Amante, "Flow-Aware Transport of Pseudowires over Regan, J., and S. Amante, "Flow-Aware Transport of Pseudowires over
an MPLS Packet Switched Network", RFC 6391, DOI 10.17487/RFC6391, an MPLS Packet Switched Network", RFC 6391, DOI 10.17487/RFC6391,
November 2011, <http://www.rfc-editor.org/info/rfc6391>. November 2011, <http://www.rfc-editor.org/info/rfc6391>.
8.2. Informative References [RFC8126] M. Cotton, et al., "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 8126, DOI 10.17487/RFC6391, June
2017, <http://www.rfc-editor.org/info/rfc8126>.
[RFC2842] Chandra, R. and J. Scudder, "Capabilities Advertisement 8.2. Informative References
with BGP-4", RFC 2842, DOI 10.17487/RFC2842, May 2000,
<http://www.rfc-editor.org/info/rfc2842>.
[RFC2858] Bates, T., Rekhter, Y., Chandra, R., and D. Katz, [RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation
"Multiprotocol Extensions for BGP-4", RFC 2858, DOI 10.17487/RFC2858, Edge-to-Edge (PWE3) Architecture", RFC 3985, DOI 10.17487/RFC3985,
June 2000, <http://www.rfc-editor.org/info/rfc2858>. March 2005, <http://www.rfc-editor.org/info/rfc3985>.
[RFC6624] Kompella, K., Kothari, B., and R. Cherukuri, "Layer 2 [RFC6624] Kompella, K., Kothari, B., and R. Cherukuri, "Layer 2
Virtual Private Networks Using BGP for Auto-Discovery and Signaling", Virtual Private Networks Using BGP for Auto-Discovery and Signaling",
RFC 6624, DOI 10.17487/RFC6624, May 2012, <http://www.rfc- RFC 6624, DOI 10.17487/RFC6624, May 2012, <http://www.rfc-
editor.org/info/rfc6624>. editor.org/info/rfc6624>.
Authors' Addresses Authors' Addresses
Keyur Patel Keyur Patel
Arrcus Arrcus
 End of changes. 30 change blocks. 
81 lines changed or deleted 102 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/