draft-ietf-idr-flowspec-l2vpn-11.txt   draft-ietf-idr-flowspec-l2vpn-12.txt 
INTERNET-DRAFT W. Hao INTERNET-DRAFT W. Hao
Intended Status: Proposed Standard Huawei Technologies Intended Status: Proposed Standard Huawei Technologies
D. Eastlake D. Eastlake
Futurewei Technologies Futurewei Technologies
J. Uttaro J. Uttaro
AT&T AT&T
S. Litkowski S. Litkowski
Orange Business Service Cisco Systems
S. Zhuang S. Zhuang
Huawei Technologies" Huawei Technologies
Expires: January 7, 2020 July 8, 2019 Expires: May 2, 2020 November 3, 2019
BGP Dissemination of L2VPN Flow Specification Rules BGP Dissemination of L2VPN Flow Specification Rules
draft-ietf-idr-flowspec-l2vpn-11 draft-ietf-idr-flowspec-l2vpn-12
Abstract Abstract
This document defines a BGP flow-spec extension to disseminate L2 VPN This document defines a Border Gateway Protocol (BGP) Flow-spec
Ethernet traffic filtering rules. SAFI=134 in draft-ietf-idr- extension to disseminate Layer 2 Virtual Private Network (L2VPN)
rfc5575bis is redefined for this purpose. A new subset of component Ethernet traffic filtering rules. AFI=25 SAFI=134 is used for this
types and extended community also are defined. A new subset of purpose. New component types and an extended community also are
component types and new extended community also are defined. defined.
Status of This Document Status of This Document
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Distribution of this document is unlimited. Comments should be sent Distribution of this document is unlimited. Comments should be sent
to the authors or the TRILL Working Group mailing list to the authors or the IDR Working Group mailing list <idr@ietf.org>.
<dnsext@ietf.org>.
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 Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
skipping to change at page 2, line 12 skipping to change at page 2, line 12
Shadow Directories can be accessed at Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
Table of Contents Table of Contents
1. Introduction............................................3 1. Introduction............................................3
1.1 Terminology............................................4 1.1 Terminology............................................4
2. Layer 2 Flow Specification encoding in BGP..............5 2. Layer 2 Flow Specification Encoding in BGP..............5
3. Ethernet Flow Specification encoding in BGP.............6 3. L2VPN Flow Specification Encoding in BGP................6
3.1 Order of Traffic Filtering Rules.......................8 3.1 Order of Traffic Filtering Rules.......................8
4. Ethernet Flow Specification Traffic Actions.............9 4. Ethernet Flow Specification Traffic Actions............10
4.1 VLAN-action............................................9 4.1 VLAN-action...........................................10
4.2 TPID-action...........................................11 4.2 TPID-action...........................................12
5. IANA Considerations....................................12 5. Flow Spec Validation...................................13
6. Security Considerations................................13
7. Acknowledgements.......................................13 6. IANA Considerations....................................14
8. Contributors...........................................13 7. Security Considerations................................15
Normative References......................................14 8. Acknowledgements.......................................15
Informative References....................................14 9. Contributors...........................................15
Authors' Addresses........................................15 Normative References......................................16
Informative References....................................16
Authors' Addresses........................................17
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
1. Introduction 1. Introduction
BGP Flow-spec is an extension to BGP that supports the dissemination Border Gateway Protocol (BGP) Flow-spec [RFC5575bis] is an extension
of traffic flow specification rules. It leverages the BGP Control to BGP that supports the dissemination of traffic flow specification
Plane to simplify the distribution of ACLs. Using this extension new rules and actions to be taken on packets in a specified flow. It
filter rules can be injected to all BGP peers simultaneously without leverages the BGP Control Plane to simplify the distribution of ACLs
changing router configuration. The typical application of BGP Flow- (Access Control Lists). Using the Flow-spec extension new filter
spec is to automate the distribution of traffic filter lists to rules can be injected to all BGP peers simultaneously without
routers for DDOS mitigation, access control, etc. changing router configuration. The typical application is to
automate the distribution of traffic filter lists to routers for DDOS
(Distributed Denial of Service) mitigation, access control, etc.
[RFC5575bis] defines a new BGP Network Layer Reachability Information BGP Flow-spec [RFC5575bis] defines a BGP Network Layer Reachability
(NLRI) format used to distribute traffic flow specification rules. Information (NLRI) format used to distribute traffic flow
NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1, specification rules. NLRI (AFI=1, SAFI=133) is for IPv4 unicast
SAFI=134) is for BGP/MPLS VPN filtering. The Flow specification filtering. NLRI (AFI=1, SAFI=134) is for IPv4 BGP/MPLS VPN
match part only includes L3/L4 information like source/destination filtering. The Flow specification match part defined in [RFC5575bis]
prefix, protocol, ports, and etc., so traffic flows can only be only includes L3/L4 information like IPv4 source/destination prefix,
selectively filtered based on L3/L4 information. protocol, ports, and the like, so traffic flows can only be filtered
based on L3/L4 information. This has been extended by [FlowSpecV6] to
cover IPv6.
Layer 2 Virtual Private Networks (L2VPNs) have already been deployed Layer 2 Virtual Private Networks (L2VPNs) have been deployed in an
in an increasing number of networks today. In an L2VPN network, we increasing number of networks. Such networks also have requirements
also have requirements to deploy BGP Flow-spec to mitigate DDoS to deploy BGP Flow-spec to mitigate DDoS attack traffic. Within an
attack traffic. Within an L2VPN network, both IP and non-IP Ethernet L2VPN network, both IP and non-IP Ethernet traffic maybe exist. For
traffic maybe exist. For IP traffic filtering, the Flow IP traffic filtering, the Flow specification rules defined in
specification rules defined in [RFC5575bis] which include match [RFC5575bis] and/or [FlowSpecV6], which include match criteria and
criteria and actions can still be used, flow specification rules actions, can still be used. Flow specification rules received via the
received via new NLRI format apply only to traffic that belongs to new NLRI format apply only to traffic that belongs to the VPN
the VPN instance(s) in which it is imported. For non-IP Ethernet instance(s) in which it is imported. For non-IP Ethernet traffic
traffic filtering, Layer 2 related information like filtering, Layer 2 related information like source/destination MAC
source/destination MAC and VLAN should be considered. But the flow and VLAN need to be considered.
specification match criteria defined in [RFC5575bis] only include
layer 3 and layer 4 IP information, not layer 2 Ethernet information.
There are different kinds of L2VPN networks like EVPN [RFC7432], BGP There are different kinds of L2VPN networks like EVPN [RFC7432], BGP
VPLS [RFC4761], LDP VPLS [RFC4762] and border gateway protocol (BGP) VPLS [RFC4761], LDP VPLS [RFC4762] and border gateway protocol (BGP)
auto discovery [RFC6074]. Because the flow-spec feature relies on auto discovery [RFC6074]. Because the Flow-spec feature relies on
BGP protocol to distribute traffic filtering rules, it can only be the BGP protocol to distribute traffic filtering rules, it can only
incrementally deployed in those L2VPN networks where BGP has already be incrementally deployed in those L2VPN networks where BGP has
been used for auto discovery and/or signaling purposes such as BGP- already been used for auto discovery and/or signaling purposes such
based VPLS [RFC4761], EVPN and LDP-based VPLS [RFC4762] with BGP as BGP- based VPLS [RFC4761], EVPN and LDP-based VPLS [RFC4762] with
auto-discovery [RFC6074]. BGP auto-discovery [RFC6074].
This draft proposes a new subset of flow-spec component types and an This draft defines new Flow-spec component types and two new extended
extended community to support L2VPN flow-spec application. The flow- communities to support L2VPN Flow-spec application. The Flow-spec
spec rules can be enforced on all border routers or on some interface rules can be enforced on all border routers or on some interface sets
sets of the border routers. SAFI=134 in [RFC5575bis] is redefined of the border routers. SAFI=134 in [RFC5575bis] and [FlowSpecV6] is
for dissemination of traffic filtering information in an L2VPN extended for AFI=25 as specified in Section 2 to cover traffic
environment. filtering information in an L2VPN environment.
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
1.1 Terminology 1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
INTERNET-DRAFT L2VPN Flow Spec The following acronyms are used in this document:
2. Layer 2 Flow Specification encoding in BGP ACL - Access Control List
[RFC5575bis] defines SAFI 133 and SAFI 134 for "dissemination of IPv4 DDOS - Distributed Denial of Service
flow specification rules" and "dissemination of VPNv4 flow
specification rules" respectively. [I-D.ietf-idr-flow-spec-v6]
redefines the [RFC5575bis] SAFIs in order to make them applicable to
both IPv4 and IPv6 applications. This document will further redefine
the SAFI 134 in order to make them applicable to L2VPN applications.
The following changes are defined: EVPN - Ethernet VPN [RFC7432]
"SAFI 134 for dissemination of L3VPN flow specification rules" to now L2VPN - Layer 2 VPN
be defined as "SAFI 134 for dissemination of VPN flow specification
rules"
For SAFI 134 the indication to which address family it is referring L3VPN - Layer 3 VPN
to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and
AFI=25 for L2VPN). Such modification is fully backwards compatible
with existing implementation and production deployments.
For SAFI 134 the indication to which address family it is referring PCP - Priority Code Point [802.1Q]
to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and
AFI=25 for L2VPN). Such modification is fully backwards compatible TPID - Tag Protocol ID, typically a VLAN ID
with existing implementation and production deployments.
VLAN = Virtual Local Area Network
VPLS - Virtual Private Line Service [RFC4762]
VPN - Virtual Private Network
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
3. Ethernet Flow Specification encoding in BGP 2. Layer 2 Flow Specification Encoding in BGP
The NLRI format for this address family consists of a fixed-length [RFC5575bis] defines SAFI 133 and SAFI 134, with AFI=1, for
Route Distinguisher field (8 bytes) followed by a flow specification, "dissemination of IPv4 flow specification rules" and "dissemination
following the encoding defined in this document. The NLRI length of VPNv4 flow specification rules", respectively. [FlowSpecV6]]
field includes both the 8 bytes of the Route Distinguisher as well as extends [RFC5575bis] to also allow AFI=2 thus making it applicable to
the subsequent flow specification. both IPv4 and IPv6 applications. This document further extends the
SAFI=134 for AFI=25 and make it applicable to L2VPN applications.
The following change is specified:
"SAFI 134 for dissemination of L3VPN flow specification rules" in
[FlowSpecV6] is defined as "SAFI 134 for dissemination of VPN flow
specification rules"
The address family to which SAFI 134 refers is indicate by the AFI
value (AFI=1 for VPNv4, AFI=2 VPNv6 and AFI=25 for L2VPN). Such
extension is fully backwards compatible with existing implementation
and production deployments.
INTERNET-DRAFT L2VPN Flow Spec
3. L2VPN Flow Specification Encoding in BGP
The NLRI format for AFI=25/SAFI=134, as with the other VPN Flow-spec
AFI/SAFI pairs, consists of an overall length encoded as provided in
Section 4.1 of [RFC5575bis], then a fixed-length Route Distinguisher
field (8 octets), then a flow specification [RFC5575bis] [FlowSpecV6]
that may include the component types defined in this document. The
length field includes both the 8 octets of the Route Distinguisher as
well as the subsequent flow specification.
+------------------------------+
| length (0xnn or 0xfn nn) |
+------------------------------+
| Route Distinguisher (8 bytes)|
+------------------------------+
| NLRI value (variable) |
+------------------------------+
Flow specification rules received via this NLRI apply only to traffic Flow specification rules received via this NLRI apply only to traffic
that belongs to the VPN instance(s) into which it is imported. Flow that belongs to the VPN instance(s) into which it is imported. Flow
rules are accepted by default when received from remote PE routers. rules are accepted as specified in Section 5.
Besides the component types defined in [RFC5575bis] and Besides the component types defined in [RFC5575bis] and [FlowSpecV6],
[I-D.ietf-idr-flow-spec-v6], this document specifies the following this document specifies the following additional component types for
additional component types for L2 VPN Ethernet traffic filtering: L2 VPN Ethernet traffic filtering:
Type 14 - Ethernet Type Type tbdA - Ethernet Type (EtherType)
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match two-octet Defines a list of {operation, value} pairs used to match two-octet
field. Values are encoded as 2-byte quantities. Ethernet II field. op is encoded as specified in Section 4.2.3 of
framing defines the two-octet Ethernet Type (EtherType) field in [RFC5575bis]. Values are encoded as 2-octet quantities. Ethernet
an Ethernet frame, preceded by destination and source MAC II framing defines the two-octet Ethernet Type (EtherType) field
in an Ethernet frame, preceded by destination and source MAC
addresses, that identifies an upper layer protocol encapsulating addresses, that identifies an upper layer protocol encapsulating
the frame data. the frame data.
Type 15 - Source MAC Type tbdB - Source MAC
Encoding: <type (1 octet), MAC Address length (1 octet), MAC Address> Encoding: <type (1 octet), MAC Address length (1 octet), MAC Address>
Defines the source MAC Address to match. Defines the source MAC Address to match.
Type 16 - Destination MAC Type tbdC - Destination MAC
Encoding: <type (1 octet), MAC Address length (1 octet), MAC Address> Encoding: <type (1 octet), MAC Address length (1 octet), MAC Address>
Defines the destination MAC Address to match. Defines the destination MAC Address to match.
Type 17 - DSAP(Destination Service Access Point) in LLC Type tbdD - DSAP (Destination Service Access Point) in LLC
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
INTERNET-DRAFT L2VPN Flow Spec
Defines a list of {operation, value} pairs used to match the Defines a list of {operation, value} pairs used to match the
1-octet DSAP in the 802.2 LLC (Logical Link Control Header). 1-octet DSAP in the 802.2 LLC (Logical Link Control Header).
Values are encoded as 1-byte quantities. The operation field is Values are encoded as 1-octet quantities. op is encoded as
encoded as a specified in Section 4.2.3 of [RFC5575bis].
Type 18 - SSAP(Source Service Access Point) in LLC Type tbdE - SSAP (Source Service Access Point) in LLC
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match the Defines a list of {operation, value} pairs used to match the
1-octet SSAP in the 802.2 LLC. Values are encoded as 1-byte 1-octet SSAP in the 802.2 LLC. Values are encoded as 1-octet
quantities. quantities. op is encoded as specified in Section 4.2.3 of
[RFC5575bis].
INTERNET-DRAFT L2VPN Flow Spec
Type 19 - Control field in LLC Type tbdF - Control field in LLC
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 1-octet Defines a list of {operation, value} pairs used to match 1-octet
control field in the 802.2 LLC. Values are encoded as 1-byte control field in the 802.2 LLC. Values are encoded as 1-octet
quantities. quantities. op is encoded as specified in Section 4.2.3 of
[RFC5575bis].
Type 20 - SNAP Type tbdG - SNAP
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 5-octet Defines a list of {operation, value} pairs used to match 5-octet
SNAP (Sub-Network Access Protocol) field. Values are encoded as SNAP (Sub-Network Access Protocol) field. Values are encoded as
5-byte quantities. 5-octet quantities. op is encoded as specified in Section 4.2.3 of
[RFC5575bis].
Type 21 - VLAN ID Type tbdH - VLAN ID
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match VLAN ID. Defines a list of {operation, value} pairs used to match VLAN ID.
Values are encoded as 2-byte quantities, where the four most Values are encoded as 2-octet quantities, where the four most
significant bits are zero and the 12 least significant bits significant bits are zero and the 12 least significant bits
contain the VLAN value. contain the VLAN value. op is encoded as specified in Section
4.2.3 of [RFC5575bis].
In the virtual local-area network (VLAN) stacking case, the VLAN In the virtual local-area network (VLAN) stacking case, the VLAN
ID is the outer VLAN ID. ID is the outer VLAN ID.
Type 22 - VLAN COS Type tbdI - VLAN PCP
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 3-bit Defines a list of {operation, value} pairs used to match 3-bit
VLAN COS fields [802.1Q]. Values are encoded using a single byte, VLAN PCP fields [802.1Q]. Values are encoded using a single
where the five most significant bits are zero and the three least octet, where the five most significant bits are zero and the three
significant bits contain the VLAN COS value. least significant bits contain the VLAN PCP value. op is encoded
as specified in Section 4.2.3 of [RFC5575bis].
INTERNET-DRAFT L2VPN Flow Spec
In the virtual local-area network (VLAN) stacking case, the VLAN In the virtual local-area network (VLAN) stacking case, the VLAN
COS is outer VLAN COS. PCP is outer VLAN PCP.
Type 23 - Inner VLAN ID Type tbdJ - Inner VLAN ID
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match the inner Defines a list of {operation, value} pairs used to match the inner
VLAN ID using for virtual local-area network (VLAN) stacking or Q VLAN ID using for virtual local-area network (VLAN) stacking or Q
in Q use. Values are encoded as 2-byte quantities, where the four in Q use. Values are encoded as 2-octet quantities, where the
most significant bits are zero and the 12 least significant bits four most significant bits are zero and the 12 least significant
contain the VLAN value. bits contain the VLAN value. op is encoded as specified in Section
4.2.3 of [RFC5575bis].
In single VLAN case, this component type MUST NOT be used. In single VLAN case, this component type MUST NOT be used. If it
appears the match will fail.
Type 24 - Inner VLAN COS Type tbdK - Inner VLAN PCP
Encoding: <type (1 octet), length (1 octet), [op, value]+> Encoding: <type (1 octet), length (1 octet), [op, value]+>
INTERNET-DRAFT L2VPN Flow Spec
Defines a list of {operation, value} pairs used to match 3-bit Defines a list of {operation, value} pairs used to match 3-bit
inner VLAN COS fields [802.1Q] using for virtual local-area inner VLAN PCP fields [802.1Q] using for virtual local-area
network (VLAN) stacking or Q in Q use. Values are encoded using a network (VLAN) stacking or Q in Q use. Values are encoded using a
single byte, where the five most significant bits are zero and the single octet, where the five most significant bits are zero and
three least significant bits contain the VLAN COS value. the three least significant bits contain the VLAN PCP value. op is
encoded as specified in Section 4.2.3 of [RFC5575bis].
In single VLAN case, the component type MUST NOT be used. In single VLAN case, the component type MUST NOT be used. If it
appears the match will fail.
Type tbdL - VLAN DEI
Encoding: <type (1 octet), length (1 octet), op (1 octet)>
This type tests the DEI bit in the VLAN tag. If op is zero, it
matches if and only if the DEI bit is zero. If op is non-zero, it
matches if and only if the DEI bit is one.
Type tbdM - Inner VLAN DEI
Encoding: <type (1 octet), length (1 octet), op (1 octet)>
This type tests the DEI bit in the inner VLAN tag. If op is zero,
it matches if and only if the DEI bit is zero. If op is non-zero,
it matches if and only if the DEI bit is one.
3.1 Order of Traffic Filtering Rules 3.1 Order of Traffic Filtering Rules
The original definition for the order of traffic filtering rules can The original definition for the order of traffic filtering rules can
be reused with new consideration for the MAC Address offset. As long be reused with new consideration for the MAC Address offset. As long
as the offsets are equal, the comparison is the same, retaining as the offsets are equal, the comparison is the same, retaining
INTERNET-DRAFT L2VPN Flow Spec
longest-prefix-match semantics. If the offsets are not equal, the longest-prefix-match semantics. If the offsets are not equal, the
lowest offset has precedence, as this flow matches the most lowest offset has precedence, as this flow matches the most
significant bit. significant bit.
Pseudocode: Pseudocode:
flow_rule_L2_cmp (a, b) flow_rule_L2_cmp (a, b)
{ {
comp1 = next_component(a); comp1 = next_component(a);
comp2 = next_component(b); comp2 = next_component(b);
while (comp1 || comp2) { while (comp1 || comp2) {
skipping to change at page 9, line 14 skipping to change at page 10, line 14
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
4. Ethernet Flow Specification Traffic Actions 4. Ethernet Flow Specification Traffic Actions
The default action for a layer 2 traffic filtering flow specification The default action for a layer 2 traffic filtering flow specification
is to accept traffic that matches that particular rule. The is to accept traffic that matches that particular rule. The
following extended community values per [RFC5575bis] can be used to following extended community values per [RFC5575bis] can be used to
specify particular actions in an L2 VPN network: specify particular actions in an L2 VPN network:
+--------+--------------------+--------------------------+ +--------+--------------------+----------------------------+
| type | extended community | encoding | | type | extended community | encoding |
+--------+--------------------+--------------------------+ +--------+--------------------+----------------------------+
| 0x8006 | traffic-rate | 2-byte as#, 4-byte float | | 0x8006 | traffic-rate | 2-octet as#, 4-octet float |
| 0x8007 | traffic-action | bitmask | | 0x8007 | traffic-action | bitmask |
| 0x8008 | redirect | 6-byte Route Target | | 0x8008 | redirect | 6-octet Route Target |
| 0x8009 | traffic-marking | DSCP value | | 0x8009 | traffic-marking | DSCP value |
+--------+--------------------+--------------------------+ +--------+--------------------+----------------------------+
Redirect: The action should be redefined to allow the traffic to be Redirect: The action should be redefined to allow the traffic to be
redirected to a MAC or IP VRF routing instance that lists the redirected to a MAC or IP VRF routing instance that lists the
specified route-target in its import policy. specified route-target in its import policy.
Besides the above extended communities, this document also specifies Besides the above extended communities, this document also specifies
the following BGP extended communities for Ethernet flows to extend the following BGP extended communities for Ethernet flows to extend
[RFC5575bis]: [RFC5575bis]:
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
| type | extended community | encoding | | type | extended community | encoding |
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
| TBD1 | VLAN-action | bitmask | | TBD1 | VLAN-action | bitmask |
| TBD2 | TPID-action | bitmask | | TBD2 | TPID-action | bitmask |
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
4.1 VLAN-action 4.1 VLAN-action
The VLAN-action extended community, as shown in the diagram below, The VLAN-action extended community, as shown in the diagram below,
consists of 6 bytes that include t action Flags, two VLAN IDs, and consists of 6 octets that include t action Flags, two VLAN IDs, and
the associating COS value. The action Flags fields are further the associated PCP and DEI values. The action Flags fields are
divided into two parts which correspond to the first action and the further divided into two parts which correspond to the first action
second action respectively. Bit 0 to bit 7 give the first action and the second action respectively. Bit 0 to bit 7 give the first
while bit 8 to bit 15 give the second action. The bits of PO, PU, action while bit 8 to bit 15 give the second action. The bits of PO,
SW, RI and RO in each part represent the action of Pop, Push, Swap, PU, SW, RI and RO in each part represent the action of Pop, Push,
Rewrite inner VLAN and Rewrite outer VLAN respectively. Through this Swap, Rewrite inner VLAN and Rewrite outer VLAN respectively.
method, more complicated actions also can be represented in a single Through this method, more complicated actions also can be represented
VLAN-action extended community, such as SwapPop, PushSwap, etc. For in a single VLAN-action extended community, such as SwapPop,
example, SwapPop action is the sequence of two actions, the first PushSwap, etc. For example, SwapPop action is the sequence of two
action is Swap and the second action is Pop. actions, the first action is Swap and the second action is Pop.
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|PO1|PU1|SW1|RI1|RO1| Resv |PO2|PU2|SW2|RI2|RO2| Resv | |PO1|PU1|SW1|RI1|RO1| Resv |PO2|PU2|SW2|RI2|RO2| Resv |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| VLAN ID1 |COS1 |R1 | | VLAN ID1 |PCP1 |DE1|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| VLAN ID2 |COS2 |R2 | | VLAN ID2 |PCP2 |DE2|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
PO1: Pop action. If the PO1 flag is one, it indicates the outmost PO1: Pop action. If the PO1 flag is one, it indicates the outmost
VLAN should be removed. VLAN should be removed.
PU1: Push action. If PU1 is one, it indicates VLAN ID1 will be PU1: Push action. If PU1 is one, it indicates VLAN ID1 will be
added, the associated COS is COS1. added, the associated PCP and DEI are PCP1 and DE1.
SW1: Swap action. If the SW1 flag is one, it indicates the outer SW1: Swap action. If the SW1 flag is one, it indicates the outer
VLAN and inner VLAN should be swapped. VLAN and inner VLAN should be swapped.
PO2: Pop action. If the PO2 flag is one, it indicates the outmost PO2: Pop action. If the PO2 flag is one, it indicates the outmost
VLAN should be removed. VLAN should be removed.
PU2: Push action. If PU2 is one, it indicates VLAN ID2 will be PU2: Push action. If PU2 is one, it indicates VLAN ID2 will be
added, the associated COS is COS2. added, the associated PCP and DEI are PCP2 and DE2.
SW2: Swap action. If the SW2 flag is one, it indicates the outer SW2: Swap action. If the SW2 flag is one, it indicates the outer
VLAN and inner VLAN should be swapped. VLAN and inner VLAN should be swapped.
RI1 and RI2: Rewrite inner VLAN action. If the RI flag is one, it RI1 and RI2: Rewrite inner VLAN action. If the RI flag is one, it
indicates the inner VLAN should be replaced by a new VLAN where the indicates the inner VLAN should be replaced by a new VLAN where the
new VLAN is VLAN ID1 and the associated COS is COS1. If the VLAN ID1 new VLAN is VLAN ID1 and the associated PCP and DEO are PCP1 and DE1.
is 0, the action is to only modify the COS value of inner VLAN. If the VLAN ID1 is 0, the action is to only modify the PCP and DEI
value of the inner VLAN.
RO1 and RO2: Rewrite outer VLAN action. If the RO flag is one, it RO1 and RO2: Rewrite outer VLAN action. If the RO flag is one, it
indicates the outer VLAN should be replaced by a new VLAN where the indicates the outer VLAN should be replaced by a new VLAN where the
new VLAN is VLAN ID and the associated COS is COS2. If the VLAN ID2 new VLAN is VLAN ID and the associated PCP and DEI are PCP2 and DE2.
is 0, the action is to only modify the COS value of outer VLAN. If the VLAN ID2 is 0, the action is to only modify the PCP and DEI
value of the outer VLAN.
Resv, R1, and R2: Reserved for future use. MUST be sent as zero and Resv, R1, and R2: Reserved for future use. MUST be sent as zero and
ignored on receipt. ignored on receipt.
Giving an example below: if the action of PUSH Inner VLAN 10 with COS Giving an example below: if the action of PUSH Inner VLAN 10 with PCP
value 5 and Outer VLAN 20 with COS value 6 is needed, the format of value 5 DEI value 0 and Outer VLAN 20 with PCP value 6 DEI value 0 is
the VLAN-action extended community is as follows: needed, the format of the VLAN-action extended community is as
follows:
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|0 |1 |0 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 | |0 |1 |0 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 10 |1 |0 |1 |0 | | 10 |1 |0 |1 |0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 20 |1 |1 |0 |0 | | 20 |1 |1 |0 |0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
4.2 TPID-action 4.2 TPID-action
The TPID-action extended community consists of 6 bytes which includes The TPID-action extended community consists of 6 octets which
the fields of action Flags, TPID1 and TPID2. includes the fields of action Flags, TPID1 and TPID2.
0 15 0 15
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|TI|TO| Resv | |TI|TO| Resv |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TP ID1 | | TP ID1 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TP ID2 | | TP ID2 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
skipping to change at page 12, line 7 skipping to change at page 13, line 7
TO: Mapping outer TP ID action. If the TO flag is one, it indicates TO: Mapping outer TP ID action. If the TO flag is one, it indicates
the outer TP ID should be replaced by a new TP ID, the new TP ID is the outer TP ID should be replaced by a new TP ID, the new TP ID is
TP ID2. TP ID2.
Resv: Reserved for future use. MUST be sent as zero and ignored on Resv: Reserved for future use. MUST be sent as zero and ignored on
receipt. receipt.
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
5. IANA Considerations 5. Flow Spec Validation
Flow-specs received over AFI=25/SAFI=134 are validated against
routing reachability received over AFI=25/SAFI=128 as modified to
conform to [FlowSpecOID].
INTERNET-DRAFT L2VPN Flow Spec
6. IANA Considerations
IANA is requested to change the description for SAFI 134 [RFC5575bis] IANA is requested to change the description for SAFI 134 [RFC5575bis]
to read as follows more general description and to change the to read as follows and to change the reference for it to [this
reference for it to [this document]: document]:
134 VPN dissemination of flow specification rules 134 VPN dissemination of flow specification rules
IANA is requested to allocate 11 new values in the Flow-Spec IANA is requested to allocate 11 new values in the Flow-Spec
Component Type registry as follows: Component Type registry as follows:
+--------+-------------------------------+--------------------------+ +--------+--------------------------+--------------------------+
| type | RFC or Draft | discription | | type | Reference | description |
+--------+-------------------------------+--------------------------+ +--------+--------------------------+--------------------------+
| 14 |This draft | Ethernet Type | | tbdA | [this document] | Ethernet Type |
| 15 |This draft | Source MAC | | tbdB | [this document] | Source MAC |
| 16 |This draft | Destination MAC | | tbdC | [this document] | Destination MAC |
| 17 |This draft | DSAP in LLC | | tbdD | [this document] | DSAP in LLC |
| 18 |This draft | SSAP in LLC | | tbdE | [this document] | SSAP in LLC |
| 19 |This draft | Control field in LLC | | tbdF | [this document] | Control field in LLC |
| 20 |This draft | SNAP | | tbdG | [this document] | SNAP |
| 21 |This draft | VLAN ID | | tbdH | [this document] | VLAN ID |
| 22 |This draft | VLAN COS | | tbdI | [this document] | VLAN PCP |
| 23 |This draft | Inner VLAN ID | | tbdJ | [this document] | Inner VLAN ID |
| 24 |This draft | Inner VLAN COS | | tbdK | [this document] | Inner VLAN PCP |
+--------+-------------------------------+--------------------------+ | tbdL | [this document] | VLAN DEI |
| tbdM | [this document] | Inner VLAN DEI |
+--------+--------------------------+--------------------------+
IANA is requested to update the reference for the following IANA is requested to assign two values from the "BGP Extended
assignment in the "BGP Extended Communities Type - extended, Communities Type - extended, transitive" registry [suggested value
transitive" registry: provided in square brackets]:
Type value Name Reference Type value Name Reference
---------- --------------------------- --------------- ------------ ------------------------ ---------------
0x080A Flow spec VLAN action [this document] TBD1[0x080A] Flow spec VLAN action [this document]
0x080B Flow spec TPID action [this document] TBD2[0x080B] Flow spec TPID action [this document]
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
6. Security Considerations 7. Security Considerations
No new security issues are introduced to the BGP protocol by this For General BGP Flow-spec Security Considerations, see [RFC5575bis].
specification.
7. Acknowledgements VLAN tagging identifies Layer 2 communities which are commonly
expected to be isolated except when higher layer connection is
provided, such as Layer 3 routing. The ability of the Flow-spec VLAN
action to change the VLAN ID in a frame thus may compromise security.
The authors wish to acknowledge the important contributions of Hannes 8. Acknowledgements
Gredler, Xiaohu Xu, Zhenbin Li, Lucy Yong, and Feng Dong.
8. Contributors The authors wish to acknowledge the important contributions of the
following:
Hannes Gredler, Xiaohu Xu, Zhenbin Li, Lucy Yong, and Feng Dong.
9. Contributors
Qiandeng Liang Qiandeng Liang
Huawei Technologies Huawei Technologies
101 Software Avenue, Yuhuatai District 101 Software Avenue, Yuhuatai District
Nanjing 210012 Nanjing 210012
China China
Email: liangqiandeng@huawei.com Email: liangqiandeng@huawei.com
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
Normative References Normative References
[I-D.ietf-idr-flow-spec-v6] McPherson, D., Raszuk, R., Pithawala, B.,
akarch@cisco.com, a., and S. Hares, "Dissemination of Flow
Specification Rules for IPv6", draft-ietf-idr-flow-spec-
v6-09 (work in progress), November 2017.
[RFC5575bis] Hares, S., Loibl, C., Raszuk, R., McPherson, D., Bacher,
M., "Dissemination of Flow Specification Rules", draft-
ietf-idr-rfc5575bis-17, Work in progress, June 2019.
[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 Requirement Levels", BCP 14, RFC 2119, DOI
10.17487/RFC2119, March 1997, <https://www.rfc- 10.17487/RFC2119, March 1997, <https://www.rfc-
editor.org/info/rfc2119>. editor.org/info/rfc2119>.
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private LAN [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private LAN
Service (VPLS) Using BGP for Auto-Discovery and Signaling", Service (VPLS) Using BGP for Auto-Discovery and Signaling",
RFC 4761, DOI 10.17487/RFC4761, January 2007, RFC 4761, DOI 10.17487/RFC4761, January 2007,
<https://www.rfc-editor.org/info/rfc4761>. <https://www.rfc-editor.org/info/rfc4761>.
skipping to change at page 14, line 43 skipping to change at page 16, line 34
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo, [RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
"Provisioning, Auto-Discovery, and Signaling in Layer 2 "Provisioning, Auto-Discovery, and Signaling in Layer 2
Virtual Private Networks (L2VPNs)", RFC 6074, DOI Virtual Private Networks (L2VPNs)", RFC 6074, DOI
10.17487/RFC6074, January 2011, <https://www.rfc- 10.17487/RFC6074, January 2011, <https://www.rfc-
editor.org/info/rfc6074>. editor.org/info/rfc6074>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119
Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May
2017, <https://www.rfc-editor.org/info/rfc8174>. 2017, <https://www.rfc-editor.org/info/rfc8174>.
[FlowSpecOID] Uttaro, J., Alcaide, J., Filsfils, C.. Smith, D.,
Mohapatra, P., draft-ietf-idr-bgp-flowspec-oid, work in
progress.
[FlowSpecV6] McPherson, D., Raszuk, R., Pithawala, B.,
akarch@cisco.com, a., and S. Hares, "Dissemination of Flow
Specification Rules for IPv6", draft-ietf-idr-flow-spec-
v6-09 (work in progress), November 2017.
[RFC5575bis] Hares, S., Loibl, C., Raszuk, R., McPherson, D., Bacher,
M., "Dissemination of Flow Specification Rules", draft-
ietf-idr-rfc5575bis-17, Work in progress, June 2019.
Informative References Informative References
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <https://www.rfc-editor.org/info/rfc7432>. 2015, <https://www.rfc-editor.org/info/rfc7432>.
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
Authors' Addresses Authors' Addresses
skipping to change at page 15, line 19 skipping to change at page 17, line 19
Weiguo Hao Weiguo Hao
Huawei Technologies Huawei Technologies
101 Software Avenue, 101 Software Avenue,
Nanjing 210012 Nanjing 210012
China China
Email: haoweiguo@huawei.com Email: haoweiguo@huawei.com
Donald E. Eastlake, 3rd Donald E. Eastlake, 3rd
Futurewei Technologies Futurewei Technologies
1424 Pro Shop Court 2386 Panoramic Circle
Davenport, FL 33896 Apopka, FL 32703
USA USA
Tel: +1-508-333-2270 Tel: +1-508-333-2270
Email: d3e3e3@gmail.com Email: d3e3e3@gmail.com
James Uttaro James Uttaro
AT&T AT&T
Email: uttaro@att.com Email: uttaro@att.com
Stephane Litkowski Stephane Litkowski
Orange Business Service Cisco Systems, Inc.
Email: stephane.litkowski@orange.com Email: slitkows.ietf@gmail.com
Shunwan Zhuang Shunwan Zhuang
Huawei Technologies Huawei Technologies
Huawei Bld., No.156 Beiqing Rd. Huawei Bld., No.156 Beiqing Rd.
Beijing 100095 Beijing 100095
China China
Email: zhuangshunwan@huawei.com Email: zhuangshunwan@huawei.com
INTERNET-DRAFT L2VPN Flow Spec INTERNET-DRAFT L2VPN Flow Spec
 End of changes. 82 change blocks. 
209 lines changed or deleted 289 lines changed or added

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