Internet DRAFT - draft-vandevelde-idr-ipv6-flowspec-imp
draft-vandevelde-idr-ipv6-flowspec-imp
IDR G. Van de Velde
Internet-Draft W. Henderickx
Intended status: Informational Alcatel-Lucent
Expires: January 3, 2016 N. Fevrier
A. Karch
Cisco Systems
A. Grewal
Juniper Networks
July 2, 2015
Dissemination of Flow Specification Rules for IPv6 Implementation Report
draft-vandevelde-idr-ipv6-flowspec-imp-02
Abstract
This document is an implementation report for the BGP Flow
Specification Rules for IPv6 as defined in
[I-D.ietf-idr-flow-spec-v6]. The respondents are experts with the
implementations they reported on, and their responses are considered
authoritative for the implementations for which their responses
represent.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
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."
This Internet-Draft will expire on January 3, 2016.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
Van de Velde, et al. Expires January 3, 2016 [Page 1]
Internet-Draft July 2015
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2
3. Implementation Forms . . . . . . . . . . . . . . . . . . . . 3
4. NLRI and Extended Community subtypes . . . . . . . . . . . . 3
5. Interoperable Implementations . . . . . . . . . . . . . . . . 6
5.1. Cisco Systems - Alcatel-Lucent . . . . . . . . . . . . . 6
5.2. Cisco Systems - Juniper Networks . . . . . . . . . . . . 8
5.3. Juniper Networks - Cisco Systems . . . . . . . . . . . . 10
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 13
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
11.1. Normative References . . . . . . . . . . . . . . . . . . 13
11.2. Informative References . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction
In order to share Flow Specification Rules for IPv6 using the BGP
routing protocol a new BGP Network Layer Reachability Information
(NLRI) encoding format is required.
This document provides an implementation report for the BGP
Dissemination of Flow Specification Rules for IPv6 NLRI Format as
defined in [I-D.ietf-idr-flow-spec-v6].
The editors did not verify the accuracy of the information provided
by respondents or by any alternative means. The respondents are
experts with the implementations they reported on, and their
responses are considered authoritative for the implementations for
which their responses represent.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
be interpreted as described in [RFC2119] only when they appear in all
Van de Velde, et al. Expires January 3, 2016 [Page 2]
Internet-Draft July 2015
upper case. They may also appear in lower or mixed case as English
words, without any normative meaning.
3. Implementation Forms
Contact and implementation information for person filling out this
form:
Cisco
Name: Nicolas Fevrier
Email: nifevrie@cisco.com
Vendor: Cisco Systems, Inc.
Release: IOS-XR 5.3.1
Protocol Role: Sender, Receiver
Alcatel-Lucent
Name: Wim Henderickx
Email: wim.henderickx@alcatel-lucent.com
Vendor: Alcatel-Lucent, Inc.
Release: R12R4
Protocol Role: Sender, Receiver
Juniper
Name: Ashutosh Grewal
Email: agrewal@juniper.net
Vendor: Juniper Networks, Inc.
Release: JunOS 15.2
Protocol Role: Sender, Receiver
4. NLRI and Extended Community subtypes
Does the implementation support the Network Layer Reachability (NLRI)
subtypes as described in Section 3 and 4 of
[I-D.ietf-idr-flow-spec-v6].
o N1: Type 1 - Destination IPv6 Prefix
o N2: Type 2 - Source IPv6 Prefix
o N3: Type 3 - Next Header
o N4: Type 4 - Port
o N5: Type 5 - Destination port
o N6: Type 6 - Source port
o N7: Type 7 - ICMP type
Van de Velde, et al. Expires January 3, 2016 [Page 3]
Internet-Draft July 2015
o N8: Type 8 - ICMP code
o N9: Type 9 - TCP flags
o N10: Type 10 - Packet length
o N11: Type 11 - DSCP (Diffserv Code Point)
o N12: Type 12 - Fragment
o N13: Type 13 - Flow Label
o E1: Extended Community - traffic-rate
o E2: Extended Community - traffic-action
o E3: Extended Community - redirect
o E4: Extended Community - traffic-marking
Van de Velde, et al. Expires January 3, 2016 [Page 4]
Internet-Draft July 2015
+--------+--------+-------+---------+
| | Cisco | ALU | Juniper |
+--------+--------+-------+---------+
| Rcv.N1 | YES | YES | YES |
| Snd.N1 | YES | YES | YES |
| Rcv.N2 | YES | YES | YES |
| Snd.N2 | YES | YES | YES |
| Rcv.N3 | YES | YES | YES |
| Snd.N3 | YES | YES | YES |
| Rcv.N4 | YES | YES | YES |
| Snd.N4 | YES | YES | YES |
| Rcv.N5 | YES | YES | YES |
| Snd.N5 | YES | YES | YES |
| Rcv.N6 | YES | YES | YES |
| Snd.N6 | YES | YES | YES |
| Rcv.N7 | YES | YES | YES |
| Snd.N7 | YES | YES | YES |
| Rcv.N8 | YES | YES | YES |
| Snd.N8 | YES | YES | YES |
| Rcv.N9 | YES | YES | YES |
| Snd.N9 | YES | YES | YES |
| Rcv.N10| YES | YES | YES |
| Snd.N10| YES | YES | YES |
| Rcv.N11| YES | YES | YES |
| Snd.N11| YES | YES | YES |
| Rcv.N12| YES | YES | YES |
| Snd.N12| YES | YES | YES |
| Rcv.N13| YES | YES | YES |
| Snd.N13| YES | YES | YES |
| Rcv.E1 | YES | YES | YES |
| Snd.E1 | YES | YES | YES |
| Rcv.E2 | YES | YES | YES |
| Snd.E2 | YES | YES | YES |
| Rcv.E3 | YES | YES | YES |
| Snd.E3 | YES | YES | YES |
| Rcv.E4 | YES | YES | YES |
| Snd.E4 | YES | YES | YES |
+--------+--------+-------+---------+
Yes
o Rcv: BGP speaker can receive the information into the BGP process
o Snd: BGP speaker can relay the information from the BGP process
No
Van de Velde, et al. Expires January 3, 2016 [Page 5]
Internet-Draft July 2015
o Rcv: BGP speaker can not receive the information into the BGP
process
o Snd: BGP speaker can not relay the information from the BGP
process
5. Interoperable Implementations
Summary of executed Interop tests between different implementations
5.1. Cisco Systems - Alcatel-Lucent
This Interop test was between a Cisco router and a Alcatel-Lucent
router. Between the two BGP devices an iBGP session is established.
The following IPv6 Flow Specification NLRI is constructed using the
Cisco router as IPv6 Flow Specification controller:
Van de Velde, et al. Expires January 3, 2016 [Page 6]
Internet-Draft July 2015
!
class-map type traffic match-all InteropMatchList
match destination-address ipv6 2001:2::3/128
match source-address ipv6 2002:2::3/128
match destination-port 1-5 7-11 13-18 20-25 27-31
match source-port 33-37 39-43 45-50 53-58 60-65
match ipv6 icmp-type 35
match ipv6 icmp-code 55
match packet length 120-130 135-140 145-160 165-200 205-225
match dscp 1-10 11-20 22-30 32-40 52-60
match tcp-flag 240 any
match protocol 6-71 73-80 85-90 95-105 110-115
match fragment-type first-fragment
end-class-map
!
!
policy-map type pbr InteropPolicy
class type traffic InteropMatchList
police rate 200 bps
!
redirect nexthop 2001::1
set dscp 45
!
class type traffic class-default
!
end-policy-map
!
flowspec
address-family ipv6
service-policy type pbr InteropPolicy
!
!
This results with the following Flow Specification Extended
communities and IPv6 Flow Specification NLRI:
AFI: IPv6
NLRI (Hex dump) :
0x0180002001000200000000000000000000000302800020020002000000000000
0000000000030303064547034945500355455a035f4569036ec573050301450503
07450b030d451203144519031bc51f06032145250327452b032d45320335453a03
3cc5410781230881370980f00a037845820387458c039145a003a545c803cdc5e1
0b0301450a030b45140316451e032045280334c53c0c8104
Actions :Traffic-rate: 200 bps DSCP: 45
Nexthop: 2001::1 (policy.1.InteropPolicy.InteropMatchList)
The above IPv6 Flow Specification rule is correctly received by the
Alcatel-Lucent BGP speaker and is reflected as follows on the device:
Van de Velde, et al. Expires January 3, 2016 [Page 7]
Internet-Draft July 2015
*A:PE26>show>router>bgp# routes flow-ipv6
===============================================================================
BGP Router ID:195.207.5.200 AS:65117 Local AS:65117
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
BGP FLOW IPV6 Routes
===============================================================================
Flag Network Nexthop LocalPref MED
As-Path
-------------------------------------------------------------------------------
u*>i -- 2001::1 100 None
No As-Path
Community Action: ext:800:0
Community Action: rate-limit: 65117:1103626240
Community Action: mark-dscp: 45
NLRI Subcomponents:
Dest Pref : 2001:2::3/128 offset 0
Src Pref : 2002:2::3/128 offset 0
Ip Proto : [ >= 6 ] and [ <= 71 ] or [ >= 73 ] and [ <= 80 ] or [ >=
Dest Port : [ >= 1 ] and [ <= 5 ] or [ >= 7 ] and [ <= 11 ] or [ >= 13
Src Port : [ >= 33 ] and [ <= 37 ] or [ >= 39 ] and [ <= 43 ] or [ >=
ICMP Type : [ == 35 ]
ICMP Code : [ == 55 ]
TCP Flags : [ 240 ]
TCP Flags : [ 240 ]
DSCP : [ >= 1 ] and [ <= 10 ] or [ >= 11 ] and [ <= 20 ] or [ >=
Frag : [ == 4 ]
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
5.2. Cisco Systems - Juniper Networks
This Interop test was between a Cisco router and a Juniper router.
Between the two BGP devices an iBGP session is established.
The following IPv6 Flow Specification NLRI is constructed using the
Cisco router as IPv6 Flow Specification controller:
Van de Velde, et al. Expires January 3, 2016 [Page 8]
Internet-Draft July 2015
!
class-map type traffic match-all InteropMatchList
match destination-address ipv6 2001:2::3/128
match source-address ipv6 2002:2::3/128
match destination-port 1-5 7-11 13-18 20-25 27-31
match source-port 33-37 39-43 45-50 53-58 60-65
match ipv6 icmp-type 35
match ipv6 icmp-code 55
match packet length 120-130 135-140 145-160 165-200 205-225
match dscp 1-10 11-20 22-30 32-40 52-60
match tcp-flag 240 any
match protocol 6-71 73-80 85-90 95-105 110-115
match fragment-type first-fragment
end-class-map
!
!
policy-map type pbr InteropPolicy
class type traffic InteropMatchList
police rate 200 bps
!
redirect nexthop 2001::1
set dscp 45
!
class type traffic class-default
!
end-policy-map
!
flowspec
address-family ipv6
service-policy type pbr InteropPolicy
!
!
This results with the following Flow Specification Extended
communities and IPv6 Flow Specification NLRI:
AFI: IPv6
NLRI (Hex dump) :
0x0180002001000200000000000000000000000302800020020002000000000000
0000000000030303064547034945500355455a035f4569036ec573050301450503
07450b030d451203144519031bc51f06032145250327452b032d45320335453a03
3cc5410781230881370980f00a037845820387458c039145a003a545c803cdc5e1
0b0301450a030b45140316451e032045280334c53c0c8104
Actions :Traffic-rate: 200 bps DSCP: 45
Nexthop: 2001::1 (policy.1.InteropPolicy.InteropMatchList)
The above IPv6 Flow Specification rule is correctly received by the
Juniper BGP speaker and is reflected as follows on the device:
Van de Velde, et al. Expires January 3, 2016 [Page 9]
Internet-Draft July 2015
root@sdn-st-mx480-b> show route table inet6flow.0 extensive
inet6flow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
2001:2::3/128,2002:2::3/128,proto>=6&<=71,>=73&<=80,>=85&<=90,>=95&<=105,>=110&<=115,
dstport>=1&<=5,>=7&<=11,>=13&<=18,>=20&<=25,>=27&<=31,
srcport>=33&<=37,>=39&<=43,>=45&<=50,>=53&<=58,>=60&<=65,icmp6-type=35,icmp6-code=55,
tcp-flag:f0,len>=120&<=130,>=135&<=140,>=145&<=160,>=165&<=200,>=205&<=225,
dscp>=1&<=10,>=11&<=20,>=22&<=30,>=32&<=40,>=52&<=60,frag=04/term:N/A
(1 entry, 0 announced)
*BGP Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x95542a4
Next-hop reference count: 2
State: <Active Int Ext>
Local AS: 65117 Peer AS: 65117
Age: 1:58
Validation State: unverified
Task: BGP_65117.10.0.0.2
AS path: I
Communities: unknown iana 800 traffic-rate:65117:25 traffic-marking:45
Accepted
Localpref: 100
Router ID: 10.0.0.2
Jun 12 15:37:57.990156 BGP RECV 10.0.0.2+179 -> 10.0.0.1+58360
Jun 12 15:37:57.990202 BGP RECV message type 2 (Update) length 245
Jun 12 15:37:57.990228 BGP RECV Update PDU length 245
Jun 12 15:37:57.990260 BGP RECV flags 0x90 code MP_reach(14): AFI/SAFI 2/133
Jun 12 15:37:57.990287 -akg- nhlen from packet : 16
Jun 12 15:37:57.990316 BGP RECV nhop zero-len len 16
Jun 12 15:37:57.990388 BGP RECV 2001:2::3/128,2002:2::3/128,proto>=6&<=71,>=73&<=80,
>=85&<=90,>=95&<=105,>=110&<=115,dstport>=1&<=5,>=7&<=11,>=13&<=18,>=20&<=25,>=27&<=31,
srcport>=33&<=37,>=39&<=43,>=45&<=50,>=53&<=58,>=60&<=65,icmp6-type=35,icmp6-code=55,
tcp-flag:f0,len>=120&<=130,>=135&<=140,>=145&<=160,>=165&<=200,>=205&<=225,
dscp>=1&<=10,>=11&<=20,>=22&<=30,>=32&<=40,>=52&<=60,frag=04/1240
Jun 12 15:37:57.990418 BGP RECV flags 0x40 code Origin(1): IGP
Jun 12 15:37:57.990446 BGP RECV flags 0x40 code ASPath(2) length 0: <null>
Jun 12 15:37:57.990471 BGP RECV flags 0x40 code LocalPref(5): 100
Jun 12 15:37:57.990517 BGP RECV flags 0xc0 code Extended Communities(16): <snip>
5.3. Juniper Networks - Cisco Systems
This Interop test was between a Juniper router and a Cisco router.
Between the two BGP devices an iBGP session is established.
The following IPv6 Flow Specification NLRI is constructed using the
Juniper router as IPv6 Flow Specification controller:
Van de Velde, et al. Expires January 3, 2016 [Page 10]
Internet-Draft July 2015
!
root@sdn-st-mx480-b# show routing-options
rib inet6.0 {
flow {
route flowroute {
match {
destination abcd::1/128;
source abcd::2/128;
protocol [ 6-71 73-80 85-90 95-105 110-115 ];
destination-port [ 1-5 7-11 13-18 20-25 27-31 ];
source-port [ 33-37 39-43 45-50 53-58 60-65 ];
icmp6-type 35;
icmp6-code 55;
tcp-flags 240;
packet-length [ 120-130 135-140 145-160 165-200 205-225 ];
dscp [ 1-10 11-20 22-30 32-40 52-60 ];
fragment first-fragment;
flow-label [ ( 22 || 77 ) 11 33 89 ];
}
then {
rate-limit 9600;
mark 45;
}
}
}
}
The above IPv6 Flow Specification rule is correctly received by the
Cisco BGP speaker and is reflected as follows on the device:
Van de Velde, et al. Expires January 3, 2016 [Page 11]
Internet-Draft July 2015
RP/0/RSP0/CPU0:ASR9k-FlowSpec-Interop#sh flowspec ipv6 detail
AFI: IPv6
Flow :Dest:abcd::1/0-128,Source:abcd::2/0-128,
NH:>=6&<=71|>=73&<=80|>=85&<=90|>=95&<=105|>=110&<=115,
DPort:>=1&<=5|>=7&<=11|>=13&<=18|>=20&<=25|>=27&<=31,
SPort:>=33&<=37|>=39&<=43|>=45&<=50|>=53&<=58|>=60&<=65,ICMPType:=35,ICMPCode:=55,
TCPFlags:~0xf0,Length:>=120&<=130|>=135&<=140|>=145&<=160|>=165&<=200|>=205&<=225,
DSCP:>=1&<=10|>=11&<=20|>=22&<=30|>=32&<=40|>=52&<=60,Frag:~FF,
FlowLabel:=22|=77|=11|=33|=89
Actions :Traffic-rate: 9600 bps DSCP: 45 (bgp.1)
Statistics (packets/bytes)
Matched : 0/0
Dropped : 0/0
RP/0/RSP0/CPU0:ASR9k-FlowSpec-Interop#sh flowspec ipv6 nlri
AFI: IPv6
NLRI (Hex dump) : 0x018000abcd0000000000000000000000000001028000abcd0000000000
0000000000000000020303064547034945500355455a035f4569036ec57305030145050307450b030d45
1203144519031bc51f06032145250327452b032d45320335453a033cc5410781230881370980f00a0378
45820387458c039145a003a545c803cdc5e10b0301450a030b45140316451e032045280334c53c0c8004
0d0116014d010b01218159
Actions :Traffic-rate: 9600 bps DSCP: 45 (bgp.1)
RP/0/RSP0/CPU0:ASR9k-FlowSpec-Interop#
6. IANA Considerations
This document makes no request of IANA.
Note to RFC Editor: The IANA has requested that this section remain
in the document upon publication as an RFC. This note to the RFC
Editor, however, may be removed.
7. Security Considerations
No new security issues are introduced to the BGP defined in
Dissemination of Flow Specification Rules for IPv6
[I-D.ietf-idr-flow-spec-v6].
8. Privacy Considerations
No new privacy issues are introduced to the BGP defined in
Dissemination of Flow Specification Rules for IPv6
[I-D.ietf-idr-flow-spec-v6].
Van de Velde, et al. Expires January 3, 2016 [Page 12]
Internet-Draft July 2015
9. Acknowledgements
The authors would like to thank Hyojeong Kim, Bertrand Duvivier, R.
Divya, and Adam Simpson.
10. Change Log
Initial Version: 8 October 2014
-01 Version: 20 May 2015
-02 Version: 2 July 2015
11. References
11.1. Normative References
[I-D.ietf-idr-flow-spec-v6]
Raszuk, R., Pithawala, B., McPherson, D., and A. Andy,
"Dissemination of Flow Specification Rules for IPv6",
draft-ietf-idr-flow-spec-v6-06 (work in progress),
November 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
11.2. Informative References
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
Authors' Addresses
Gunter Van de Velde
Alcatel-Lucent
Copernicuslaan 50
Antwerpen 2018
Belgium
Email: gunter.van_de_velde@alcatel-lucent.com
Wim Henderickx
Alcatel-Lucent
Email: wim.henderickx@alcatel-lucent.be
Van de Velde, et al. Expires January 3, 2016 [Page 13]
Internet-Draft July 2015
Nicolas Fevrier
Cisco Systems
11 Rue Camille Desmoulins
Issy-les-Koulineaux 92130
France
Email: nifevrie@cisco.com
Andy Karch
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95124 95134
USA
Email: akarch@cisco.com
Ashutosh Grewal
Juniper Networks
1133 Innovation Way
Sunnyvale, CA 94089 94089
USA
Email: agrewal@juniper.net
Van de Velde, et al. Expires January 3, 2016 [Page 14]