draft-ietf-idr-flowspec-l2vpn-05.txt   draft-ietf-idr-flowspec-l2vpn-06.txt 
IDR W. Hao
Q. Liang
Internet Draft Huawei
Intended status: Standards Track Jim Uttaro
AT&T
S. Litkowski
Orange Business Service
S. Zhuang
Huawei
Expires: June 2017 December 30, 2016
Dissemination of Flow Specification Rules for L2 VPN Network Working Group W. Hao
draft-ietf-idr-flowspec-l2vpn-05.txt Internet-Draft Q. Liang
Intended status: Standards Track Huawei
Expires: January 4, 2018 J. Uttaro
AT&T
S. Litkowski
Orange Business Service
S. Zhuang
Huawei
July 03, 2017
Dissemination of Flow Specification Rules for L2 VPN
draft-ietf-idr-flowspec-l2vpn-06
Abstract Abstract
This document defines BGP flow-spec extension for Ethernet traffic This document defines BGP flow-spec extension for Ethernet traffic
filtering in L2 VPN network. SAFI=134 in [RFC5575] is redefined for filtering in L2 VPN network. SAFI=134 in [RFC5575] is redefined for
dissemination traffic filtering information in an L2VPN environment. dissemination traffic filtering information in an L2VPN environment.
A new subset of component types and extended community also are A new subset of component types and extended community also are
defined. defined.
Status of this Memo Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo
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.
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). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at Internet-Drafts are draft documents valid for a maximum of six months
http://www.ietf.org/1id-abstracts.html and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of Internet-Draft Shadow Directories can be accessed at This Internet-Draft will expire on January 4, 2018.
http://www.ietf.org/shadow.html.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
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 carefully, as they describe your rights and restrictions with respect
respect to this document. Code Components extracted from this to this document. Code Components extracted from this document must
document must include Simplified BSD License text as described in include Simplified BSD License text as described in Section 4.e of
Section 4.e of the Trust Legal Provisions and are provided without the Trust Legal Provisions and are provided without warranty as
warranty as described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction ................................................ 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Layer 2 Flow Specification encoding in BGP................... 3 2. Layer 2 Flow Specification encoding in BGP . . . . . . . . . 3
3. Ethernet Flow Specification encoding in BGP.................. 4 3. Ethernet Flow Specification encoding in BGP . . . . . . . . . 4
3.1. Order of Traffic Filtering Rules........................ 6 3.1. Order of Traffic Filtering Rules . . . . . . . . . . . . 6
4. Ethernet Flow Specification Traffic Actions.................. 7 4. Ethernet Flow Specification Traffic Actions . . . . . . . . . 7
5. Security Considerations..................................... 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. IANA Considerations ........................................ 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12
6.1. Normative References................................... 12 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
6.2. Informative References................................. 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
7. Acknowledgments ............................................ 12 8.1. Normative References . . . . . . . . . . . . . . . . . . 12
8.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
BGP Flow-spec is an extension to BGP that allows for the BGP Flow-spec is an extension to BGP that allows for the
dissemination of traffic flow specification rules. It leverages the dissemination of traffic flow specification rules. It leverages the
BGP Control Plane to simplify the distribution of ACLs, new filter BGP Control Plane to simplify the distribution of ACLs, new filter
rules can be injected to all BGP peers simultaneously without rules can be injected to all BGP peers simultaneously without
changing router configuration. The typical application of BGP Flow- changing router configuration. The typical application of BGP Flow-
spec is to automate the distribution of traffic filter lists to spec is to automate the distribution of traffic filter lists to
routers for DDOS mitigation, access control, etc. routers for DDOS mitigation, access control, etc.
RFC5575 defines a new BGP Network Layer Reachability Information RFC5575 defines a new BGP Network Layer Reachability Information
(NLRI) format used to distribute traffic flow specification rules. (NLRI) format used to distribute traffic flow specification rules.
NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1, NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1,
SAFI=134)is for BGP/MPLS VPN filtering. The Flow specification match SAFI=134)is for BGP/MPLS VPN filtering. The Flow specification match
part only includes L3/L4 information like source/destination prefix, part only includes L3/L4 information like source/destination prefix,
protocol, ports, and etc, so traffic flows can only be selectively protocol, ports, and etc, so traffic flows can only be selectively
filtered based on L3/L4 information. filtered based on L3/L4 information.
Layer 2 Virtual Private Networks L2VPNs have already been deployed Layer 2 Virtual Private Networks (L2VPNs) have already been deployed
in an increasing number of networks today. In L2VPN network, we also in an increasing number of networks today. In L2VPN network, we also
have requirement to deploy BGP Flow-spec to mitigate DDoS attack have requirement to deploy BGP Flow-spec to mitigate DDoS attack
traffic. Within L2VPN network, both IP and non-IP Ethernet traffic traffic. Within L2VPN network, both IP and non-IP Ethernet traffic
maybe exist. For IP traffic filtering, the Flow specification rules maybe exist. For IP traffic filtering, the Flow specification rules
defined in [RFC5575] which include match criteria and actions can defined in [RFC5575] which include match criteria and actions can
still be used, flow specification rules received via new NLRI format still be used, flow specification rules received via new NLRI format
apply only to traffic that belongs to the VPN instance(s) in which apply only to traffic that belongs to the VPN instance(s) in which it
it is imported. For non-IP Ethernet traffic filtering, Layer 2 is imported. For non-IP Ethernet traffic filtering, Layer 2 related
related information like source/destination MAC and VLAN should be information like source/destination MAC and VLAN should be
considered. But the flow specification match criteria defined in considered. But the flow specification match criteria defined in
RFC5575 only include layer 3 and layer 4 IP information, layer 2 RFC5575 only include layer 3 and layer 4 IP information, layer 2
Ethernet information haven't been included. Ethernet information haven't been included.
There are different kinds of L2VPN networks like EVPN [EVPN], BGP There are different kinds of L2VPN networks like EVPN [EVPN], BGP
VPLS [RFC4761], LDP VPLS [RFC4762] and border gateway protocol (BGP) VPLS [RFC4761], LDP VPLS [RFC4762] and border gateway protocol (BGP)
auto discovery [RFC 6074]. Because the flow-spec feature relies on auto discovery [RFC 6074]. Because the flow-spec feature relies on
BGP protocol to distribute traffic filtering rules, so it can only BGP protocol to distribute traffic filtering rules, so it can only be
be incrementally deployed in those L2VPN networks where BGP has incrementally deployed in those L2VPN networks where BGP has already
already been used for auto discovery and/or signaling purposes such been used for auto discovery and/or signaling purposes such as BGP-
as BGP-based VPLS [4761], EVPN and LDP-based VPLS [4762] with BGP based VPLS [4761], EVPN and LDP-based VPLS [4762] with BGP auto-
auto-discovery [6074]. discovery [6074].
This draft proposes a new subset of component types and extended This draft proposes a new subset of component types and extended
community to support L2VPN flow-spec application. The flow-spec community to support L2VPN flow-spec application. The flow-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 [RFC5575] is redefined for of the border routers. SAFI=134 in [RFC5575] is redefined for
dissemination traffic filtering information in an L2VPN environment. dissemination traffic filtering information in an L2VPN environment.
2. Layer 2 Flow Specification encoding in BGP 2. Layer 2 Flow Specification encoding in BGP
The [RFC5575] defines SAFI 133 and SAFI 134 for "dissemination of The [RFC5575] defines SAFI 133 and SAFI 134 for "dissemination of
IPv4 flow specification rules" and "dissemination of VPNv4 flow IPv4 flow specification rules" and "dissemination of VPNv4 flow
specification rules" respectively. [draft-ietf-idr-flow-spec-v6-06] specification rules" respectively. [draft-ietf-idr-flow-spec-v6-06]
redefines the [RFC5575] SAFIs in order to make them applicable to redefines the [RFC5575] SAFIs in order to make them applicable to
both IPv4 and IPv6 applications. This document will further redefine both IPv4 and IPv6 applications. This document will further redefine
the SAFI 134 in order to make them applicable to L2VPN applications. the SAFI 134 in order to make them applicable to L2VPN applications.
The following changes are defined: The following changes are defined:
"SAFI 134 for dissemination of L3VPN flow specification rules" to "SAFI 134 for dissemination of L3VPN flow specification rules" to now
now be defined as "SAFI 134 for dissemination of VPN flow be defined as "SAFI 134 for dissemination of VPN flow specification
specification rules" rules"
For SAFI 134 the indication to which address family it is referring For SAFI 134 the indication to which address family it is referring
to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and 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 AFI=25 for L2VPN). Such modification is fully backwards compatible
with existing implementation and production deployments. with existing implementation and production deployments.
3. Ethernet Flow Specification encoding in BGP 3. Ethernet Flow Specification encoding in BGP
The NLRI format for this address family consists of a fixed-length The NLRI format for this address family consists of a fixed-length
Route Distinguisher field (8 bytes) followed by a flow specification, Route Distinguisher field (8 bytes) followed by a flow specification,
following the encoding defined in this document. The NLRI length following the encoding defined in this document. The NLRI length
field shall include both the 8 bytes of the Route Distinguisher as field shall include both the 8 bytes of the Route Distinguisher as
well as the subsequent flow specification. well as the subsequent flow specification.
Flow specification rules received via this NLRI apply only to Flow specification rules received via this NLRI apply only to traffic
traffic that belongs to the VPN instance(s) in which it is imported. that belongs to the VPN instance(s) in which it is imported. Flow
Flow rules are accepted by default, when received from remote PE rules are accepted by default, when received from remote PE routers.
routers.
Besides the component types defined in [RFC5575] and [draft-ietf- Besides the component types defined in [RFC5575] and [draft-ietf-idr-
idr-flow-spec-v6-06], this document proposes the following flow-spec-v6-06], this document proposes the following additional
additional component types for L2VPN Ethernet traffic filtering: component types for L2VPN Ethernet traffic filtering:
Type 14 - Ethernet Type Type 14 - Ethernet Type
Encoding: <type (1 octet), [op, value]+> Encoding: <type (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 framing field. Values are encoded as 2-byte quantities. Ethernet II framing
defines the two-octet Ethernet Type field in an Ethernet frame, defines the two-octet Ethernet Type field in an Ethernet frame,
preceded by destination and source MAC addresses, that identifies an preceded by destination and source MAC addresses, that identifies an
upper layer protocol encapsulating the frame data. upper layer protocol encapsulating the frame data.
Type 15 - Source MAC Type 15 - 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 16 - 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 17 - DSAP(Destination Service Access Point) in LLC
Encoding: <type (1 octet), [op, value]+> Encoding: <type (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 DSAP
DSAP in the 802.2 LLC(Logical Link Control Header). Values are in the 802.2 LLC(Logical Link Control Header). Values are encoded as
encoded as 1-byte quantities. The operation field is encoded as 1-byte quantities. The operation field is encoded as 'Numeric
'Numeric operator' defined in [RFC5575]. operator' defined in [RFC5575].
Type 18 - SSAP(Source Service Access Point) in LLC Type 18 - SSAP(Source Service Access Point) in LLC
Encoding: <type (1 octet), [op, value]+> Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 1-octet SSAP
Defines a list of {operation, value} pairs used to match 1-octet in the 802.2 LLC. Values are encoded as 1-byte quantities.
SSAP in the 802.2 LLC. Values are encoded as 1-byte quantities.
Type 19 - Control field in LLC Type 19 - Control field in LLC
Encoding: <type (1 octet), [op, value]+> Encoding: <type (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-byte
quantities. quantities.
Type 20 - SNAP Type 20 - SNAP
Encoding: <type (1 octet), [op, value]+> Encoding: <type (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 5- SNAP(Sub-Network Access Protocol) field. Values are encoded as
byte quantities. 5-byte quantities.
Type 21 - VLAN ID Type 21 - VLAN ID
Encoding: <type (1 octet), [op, value]+> Encoding: <type (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-byte quantities, where the four most
significant bits are zero and the 12 least significant bits contain significant bits are zero and the 12 least significant bits contain
the VLAN value. the VLAN value.
In virtual local-area network (VLAN) stacking case, the VLAN ID is In virtual local-area network (VLAN) stacking case, the VLAN ID is
outer VLAN ID. outer VLAN ID.
Type 22 - VLAN COS Type 22 - VLAN COS
Encoding: <type (1 octet), [op, value]+> Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 3-bit VLAN Defines a list of {operation, value} pairs used to match 3-bit VLAN
COS fields [802.1p]. Values are encoded using a single byte, where COS fields [802.1p]. Values are encoded using a single byte, where
the five most significant bits are zero and the three least the five most significant bits are zero and the three least
significant bits contain the VLAN COS value. significant bits contain the VLAN COS value.
In virtual local-area network (VLAN) stacking case, the VLAN COS is In virtual local-area network (VLAN) stacking case, the VLAN COS is
outer VLAN COS. outer VLAN COS.
Type 23 - Inner VLAN ID Type 23 - Inner VLAN ID
Encoding: <type (1 octet), [op, value]+> Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match inner VLAN Defines a list of {operation, value} pairs used to match inner VLAN
ID using for virtual local-area network (VLAN) stacking or Q in Q ID using for virtual local-area network (VLAN) stacking or Q in Q
case. Values are encoded as 2-byte quantities, where the four most case. Values are encoded as 2-byte quantities, where the four most
significant bits are zero and the 12 least significant bits contain significant bits are zero and the 12 least significant bits contain
the VLAN value. the VLAN value.
In single VLAN case, the component type MUST not be used. In single VLAN case, the component type MUST not be used.
Type 24 - Inner VLAN COS Type 24 - Inner VLAN COS
Encoding: <type (1 octet), [op, value]+> Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 3-bit inner Defines a list of {operation, value} pairs used to match 3-bit inner
VLAN COS fields [802.1p] using for virtual local-area network (VLAN) VLAN COS fields [802.1p] using for virtual local-area network (VLAN)
stacking or Q in Q case. Values are encoded using a single byte, stacking or Q in Q case. Values are encoded using a single byte,
where the five most significant bits are zero and the three least where the five most significant bits are zero and the three least
significant bits contain the VLAN COS value. significant bits contain the VLAN COS value.
In single VLAN case, the component type MUST not be used. In single VLAN case, the component type MUST not be used.
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
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) {
// component_type returns infinity on end-of-list // component_type returns infinity on end-of-list
if (component_type(comp1) < component_type(comp2)) { if (component_type(comp1) < component_type(comp2)) {
return A_HAS_PRECEDENCE; return A_HAS_PRECEDENCE;
} }
if (component_type(comp1) > component_type(comp2)) { if (component_type(comp1) > component_type(comp2)) {
return B_HAS_PRECEDENCE; return B_HAS_PRECEDENCE;
} }
if (component_type(comp1) == MAC_DESTINATION || MAC_SOURCE) { if (component_type(comp1) == MAC_DESTINATION || MAC_SOURCE) {
common = MIN(MAC Address length (comp1), common = MIN(MAC Address length (comp1),
MAC Address length (comp2)); MAC Address length (comp2));
cmp = MAC Address compare(comp1, comp2, common); cmp = MAC Address compare(comp1, comp2, common);
// not equal, lowest value has precedence // not equal, lowest value has precedence
// equal, longest match has precedence // equal, longest match has precedence
} else { } else {
common = common =
MIN(component_length(comp1), component_length(comp2)); MIN(component_length(comp1), component_length(comp2));
cmp = memcmp(data(comp1), data(comp2), common); cmp = memcmp(data(comp1), data(comp2), common);
// not equal, lowest value has precedence // not equal, lowest value has precedence
// equal, longest string has precedence // equal, longest string has precedence
} }
} }
return EQUAL; return EQUAL;
} }
4. Ethernet Flow Specification Traffic Actions 4. Ethernet Flow Specification Traffic Actions
The default action for a layer 2 traffic filtering flow The default action for a layer 2 traffic filtering flow specification
specification is to accept traffic that matches that particular rule. is to accept traffic that matches that particular rule. The
The following extended community values per RFC5575 can be used to following extended community values per RFC5575 can be used to
specify particular actions in L2VPN network: specify particular actions in L2VPN network:
+--------+--------------------+--------------------------+ +--------+--------------------+--------------------------+
| type | extended community | encoding | | type | extended community | encoding |
+--------+--------------------+--------------------------+ +--------+--------------------+--------------------------+
| 0x8006 | traffic-rate | 2-byte as#, 4-byte float | | 0x8006 | traffic-rate | 2-byte as#, 4-byte float |
| 0x8007 | traffic-action | bitmask | | 0x8007 | traffic-action | bitmask |
| 0x8008 | redirect | 6-byte Route Target | | 0x8008 | redirect | 6-byte Route Target |
| 0x8009 | traffic-marking | DSCP value | | 0x8009 | traffic-marking | DSCP value |
+--------+--------------------+--------------------------+ +--------+--------------------+--------------------------+
skipping to change at page 8, line 30 skipping to change at page 8, line 21
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
| type | extended community | encoding | | type | extended community | encoding |
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
| TBD1 | VLAN-action | bitmask | | TBD1 | VLAN-action | bitmask |
| TBD2 | TPID-action | bitmask | | TBD2 | TPID-action | bitmask |
+--------+------------------------+--------------------------+ +--------+------------------------+--------------------------+
VLAN-action: The VLAN-action extended community consists of 6 bytes VLAN-action: The VLAN-action extended community consists of 6 bytes
which include the fields of action Flags, two VLAN IDs and the which include the fields of action Flags, two VLAN IDs and the
associating COS value. The action Flags fields are further divided associating COS value. The action Flags fields are further divided
into two parts which correspond to the first action and the second into two parts which correspond to the first action and the second
action respectively, bit 0 to bit 7 belong to the first action part action respectively, bit 0 to bit 7 belong to the first action part
while bit 8 to bit 15 belong to the second part. The bits of PO, PU, while bit 8 to bit 15 belong to the second part. The bits of PO, PU,
SW, RI and RO in each part represent the action of Pop, Push, Swap, SW, RI and RO in each part represent the action of Pop, Push, Swap,
Rewrite inner VLAN and Rewrite outer VLAN respectively. Through this Rewrite inner VLAN and Rewrite outer VLAN respectively. Through this
method, more complicated actions also can be represented in a single method, more complicated actions also can be represented in a single
VLAN-action extend community, such as SwapPop, PushSwap, etc. For VLAN-action extend community, such as SwapPop, PushSwap, etc. For
example, SwapPop action is the concatenation of two actions, the example, SwapPop action is the concatenation of two actions, the
first action is Swap and the second action is Pop. first action is Swap and the second action is Pop.
0 7 15 0 7 15
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|PO1|PU1|SW1|RI1|RO1|...|PO2|PU2|SW2|RI2|RO2|...| |PO1|PU1|SW1|RI1|RO1|...|PO2|PU2|SW2|RI2|RO2|...|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| VLAN ID1 |COS1 |R1| | VLAN ID1 |COS1 |R1|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| VLAN ID2 |COS2 |R2| | VLAN ID2 |COS2 |R2|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
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 added, PU1: Push action. If PU1 is one, it indicates VLAN ID1 will be
the associated COS is COS1. added, the associated COS is COS1.
SW1: Swap action. If the SW1 flag is one it indicates the outer VLAN SW1: Swap action. If the SW1 flag is one, it indicates the outer
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 added, PU2: Push action. If PU2 is one, it indicates VLAN ID2 will be
the associated COS is COS2. added, the associated COS is COS2.
SW2: Swap action. If the SW2 flag is one it indicates the outer VLAN SW2: Swap action. If the SW2 flag is one, it indicates the outer
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, the new indicates the inner VLAN should be replaced by a new VLAN, the new
VLAN is VLAN ID1, the associated COS is COS1. If the VLAN ID1 is 0, VLAN is VLAN ID1, the associated COS is COS1. If the VLAN ID1 is 0,
the action is to only modify the COS value of inner VLAN. the action is to only modify the COS value of 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, the new indicates the outer VLAN should be replaced by a new VLAN, the new
VLAN is VLAN ID2, the associated COS is COS2. If the VLAN ID2 is 0, VLAN is VLAN ID2, the associated COS is COS2. If the VLAN ID2 is 0,
the action is to only modify the COS value of outer VLAN. the action is to only modify the COS value of outer VLAN.
R1 and R2: Reserved for future use. R1 and R2: Reserved for future use.
Giving an example, if the action of PUSH Inner VLAN 10 with COS Giving an example, if the action of PUSH Inner VLAN 10 with COS value
value 5 and Outer VLAN 20 with COS value 6 is needed, the format of 5 and Outer VLAN 20 with COS value 6 is needed, the format of the
the VLAN-action extended community is as follows: VLAN-action extended community is as follows:
0 7 15 0 7 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 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
skipping to change at page 10, line 25 skipping to change at page 10, line 4
which includes the fields of action Flags, TPID1 and TPID2. which 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 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
TI: Mapping inner TP ID action. If the TI flag is one, it indicates
TI: Mapping inner TP ID action. If the TI flag is one it indicates
the inner TP ID should be replaced by a new TP ID, the new TP ID is the inner TP ID should be replaced by a new TP ID, the new TP ID is
TP ID1. TP ID1.
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. Resv: Reserved for future use.
5. Security Considerations 5. IANA Considerations
No new security issues are introduced to the BGP protocol by this
specification.
6. IANA Considerations
IANA is requested to rename currently defined SAFI 134 per [RFC5575] IANA is requested to rename currently defined SAFI 134 per [RFC5575]
to read: to read:
134 VPN dissemination of flow specification rules 134 VPN dissemination of flow specification rules
IANA is requested to create and maintain a new registry for "Flow IANA is requested to create and maintain a new registry for "Flow
spec L2VPN Component Types". For completeness, the types defined in spec L2VPN Component Types". For completeness, the types defined in
[RFC5575] and [draft-ietf-idr-flow-spec-v6-06] also are listed here. [RFC5575] and [draft-ietf-idr-flow-spec-v6-06] also are listed here.
+--------+-------------------------------+--------------------------+ +--------+-------------------------------+--------------------------+
| type | RFC or Draft | discription | | type | RFC or Draft | discription |
+--------+-------------------------------+--------------------------+ +--------+-------------------------------+--------------------------+
| 1 |RFC5575 | Destination Prefix | | 1 |RFC5575 | Destination Prefix |
| 1 |draft-ietf-idr-flow-spec-v6-06 | Destination IPv6 Prefix | | 1 |draft-ietf-idr-flow-spec-v6-06 | Destination IPv6 Prefix |
| 2 |RFC5575 | Source Prefix | | 2 |RFC5575 | Source Prefix |
| 2 |draft-ietf-idr-flow-spec-v6-06 | Source IPv6 Prefix | | 2 |draft-ietf-idr-flow-spec-v6-06 | Source IPv6 Prefix |
| 3 |RFC5575 | IP Protocol | | 3 |RFC5575 | IP Protocol |
skipping to change at page 12, line 5 skipping to change at page 12, line 5
transitive" registry: transitive" registry:
Type value Name Reference Type value Name Reference
---------- ---------------------------------------- --------- ---------- ---------------------------------------- ---------
0x080A Flow spec VLAN action [this document] 0x080A Flow spec VLAN action [this document]
0x080B Flow spec TPID action [this document] 0x080B Flow spec TPID action [this document]
6.1. Normative References 6. Security Considerations
[1] [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate No new security issues are introduced to the BGP protocol by this
specification.
Requirement Levels", BCP 14, RFC 2119, March 1997. 7. Acknowledgements
[2] [RFC5575] P. Marques, N. Sheth, R. Raszuk, B. Greene, J.Mauch, The authors wish to acknowledge the important contributions of Hannes
D. McPherson, "Dissemination of Flow Specification Rules", RFC Gredler, Xiaohu Xu, Zhenbin Li and Lucy Yong.
5575, August 2009.
[3] [RFC4761] K. Kompella, Ed., Y. Rekhter, Ed., "Virtual Private 8. References
LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling",
RFC4761, January 2007.
[4] [RFC4762] M. Lasserre, Ed., V. Kompella, Ed., "Virtual Private 8.1. Normative References
LAN Service (VPLS) Using Label Distribution Protocol (LDP)
Signaling", RFC4762, January 2007.
[5] [RFC6074] E. Rosen, B. Davie, V. Radoaca, "Provisioning, Auto- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Discovery, and Signaling in Layer 2 Virtual Private Networks Requirement Levels", BCP 14, RFC 2119,
(L2VPNs)", RFC6074, January 2011. DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
6.2. Informative References [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007,
<http://www.rfc-editor.org/info/rfc4761>.
[1] [EVPN] Sajassi et al., "BGP MPLS Based Ethernet VPN", draft- [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private
ietf-l2vpn-evpn-07.txt, work in progress, May, 2014. LAN Service (VPLS) Using Label Distribution Protocol (LDP)
Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007,
<http://www.rfc-editor.org/info/rfc4762>.
[2] [IEEE 802.1p] Javin, et.al. "IEEE 802.1p: LAN Layer 2 QoS/CoS [RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J.,
Protocol for Traffic Prioritization", 2012-02-15 and D. McPherson, "Dissemination of Flow Specification
Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009,
<http://www.rfc-editor.org/info/rfc5575>.
7. Acknowledgments [RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
"Provisioning, Auto-Discovery, and Signaling in Layer 2
Virtual Private Networks (L2VPNs)", RFC 6074,
DOI 10.17487/RFC6074, January 2011,
<http://www.rfc-editor.org/info/rfc6074>.
The authors wish to acknowledge the important contributions of 8.2. Informative References
Hannes Gredler, Xiaohu Xu, Zhenbin Li and Lucy Yong.
Authors' Addresses [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <http://www.rfc-editor.org/info/rfc7432>.
Authors' Addresses
Weiguo Hao Weiguo Hao
Huawei Technologies Huawei
101 Software Avenue, 101 Software Avenue,
Nanjing 210012 Nanjing 210012
China China
Email: haoweiguo@huawei.com Email: haoweiguo@huawei.com
Qiandeng Liang Qiandeng Liang
Huawei Technologies Huawei
101 Software Avenue, 101 Software Avenue,
Nanjing 210012 Nanjing 210012
China China
Email: liangqiandeng@huawei.com Email: liangqiandeng@huawei.com
James Uttaro James Uttaro
AT&T AT&T
Email: uttaro@att.com Email: uttaro@att.com
Stephane Litkowski James Uttaro
Orange Orange Business Service
Email: stephane.litkowski@orange.com Email: stephane.litkowski@orange.com
Shunwan Zhuang Shunwan Zhuang
Huawei Technologies Huawei
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
 End of changes. 87 change blocks. 
192 lines changed or deleted 203 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/