draft-ietf-pce-pcep-flowspec-01.txt   draft-ietf-pce-pcep-flowspec-02.txt 
Network Working Group D. Dhody, Ed. Network Working Group D. Dhody, Ed.
Internet-Draft Huawei Technologies Internet-Draft Huawei Technologies
Intended status: Standards Track A. Farrel, Ed. Intended status: Standards Track A. Farrel, Ed.
Expires: January 2, 2019 Juniper Networks Expires: April 19, 2019 Juniper Networks
Z. Li Z. Li
Huawei Technologies Huawei Technologies
July 1, 2018 October 16, 2018
PCEP Extension for Flow Specification PCEP Extension for Flow Specification
draft-ietf-pce-pcep-flowspec-01 draft-ietf-pce-pcep-flowspec-02
Abstract Abstract
The Path Computation Element (PCE) is a functional component capable The Path Computation Element (PCE) is a functional component capable
of selecting the paths through a traffic engineered network. These of selecting the paths through a traffic engineered network. These
paths may be supplied in response to requests for computation, or may paths may be supplied in response to requests for computation, or may
be unsolicited instructions issued by the PCE to network elements. be unsolicited instructions issued by the PCE to network elements.
Both approaches use the PCE Communication Protocol (PCEP) to convey Both approaches use the PCE Communication Protocol (PCEP) to convey
the details of the computed path. the details of the computed path.
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 2, 2019. This Internet-Draft will expire on April 19, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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
skipping to change at page 2, line 31 skipping to change at page 2, line 31
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Procedures for PCE Use of Flow Specifications . . . . . . . . 4 3. Procedures for PCE Use of Flow Specifications . . . . . . . . 4
3.1. Capability Advertisement . . . . . . . . . . . . . . . . 5 3.1. Capability Advertisement . . . . . . . . . . . . . . . . 5
3.1.1. PCEP OPEN Message . . . . . . . . . . . . . . . . . . 5 3.1.1. PCEP OPEN Message . . . . . . . . . . . . . . . . . . 5
3.1.2. IGP PCE Capabilities Advertisement . . . . . . . . . 5 3.1.2. IGP PCE Capabilities Advertisement . . . . . . . . . 5
3.2. Dissemination Procedures . . . . . . . . . . . . . . . . 6 3.2. Dissemination Procedures . . . . . . . . . . . . . . . . 6
3.3. Flow Specification Synchronization . . . . . . . . . . . 7 3.3. Flow Specification Synchronization . . . . . . . . . . . 7
4. PCE FlowSpec Capability TLV . . . . . . . . . . . . . . . . . 7 4. PCE FlowSpec Capability TLV . . . . . . . . . . . . . . . . . 7
5. PCEP Flow Spec Object . . . . . . . . . . . . . . . . . . . . 8 5. PCEP FLOWSPEC Object . . . . . . . . . . . . . . . . . . . . 8
6. Flow Filter TLV . . . . . . . . . . . . . . . . . . . . . . . 9 6. Flow Filter TLV . . . . . . . . . . . . . . . . . . . . . . . 10
7. Flow Specification TLVs . . . . . . . . . . . . . . . . . . . 10 7. Flow Specification TLVs . . . . . . . . . . . . . . . . . . . 10
8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 13 8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 13
8.1. Default Behavior and Backward Compatibility . . . . . . . 14 8.1. Default Behavior and Backward Compatibility . . . . . . . 13
8.2. Composite Flow Specifications . . . . . . . . . . . . . . 14 8.2. Composite Flow Specifications . . . . . . . . . . . . . . 13
8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 14 8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 14
8.4. Multiple Flow Specifications . . . . . . . . . . . . . . 14 8.4. Multiple Flow Specifications . . . . . . . . . . . . . . 14
8.5. Adding and Removing Flow Specifications . . . . . . . . . 15 8.5. Adding and Removing Flow Specifications . . . . . . . . . 14
8.6. VPN Identifiers . . . . . . . . . . . . . . . . . . . . . 15 8.6. VPN Identifiers . . . . . . . . . . . . . . . . . . . . . 15
8.7. Priorities and Overlapping Flow Specifications . . . . . 15 8.7. Priorities and Overlapping Flow Specifications . . . . . 15
9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 16 9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 15
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 19 10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 18
10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 18
10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 19 10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 19
10.3. Flow Specification TLV Type Indicators . . . . . . . . . 19 10.3. Flow Specification TLV Type Indicators . . . . . . . . . 19
10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 20 10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 20
10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 21 10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 21
11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21
12. Manageability Considerations . . . . . . . . . . . . . . . . 22 12. Manageability Considerations . . . . . . . . . . . . . . . . 22
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
14.1. Normative References . . . . . . . . . . . . . . . . . . 22 14.1. Normative References . . . . . . . . . . . . . . . . . . 22
14.2. Informative References . . . . . . . . . . . . . . . . . 23 14.2. Informative References . . . . . . . . . . . . . . . . . 23
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 24 Appendix A. Flow Specification TLV Types . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 Appendix B. Contributors . . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction 1. Introduction
[RFC4655] defines the Path Computation Element (PCE), a functional [RFC4655] defines the Path Computation Element (PCE), a functional
component capable of computing paths for use in traffic engineering component capable of computing paths for use in traffic engineering
networks. PCE was originally conceived for use in Multiprotocol networks. PCE was originally conceived for use in Multiprotocol
Label Switching (MPLS) for Traffic Engineering (TE) networks to Label Switching (MPLS) for Traffic Engineering (TE) networks to
derive the routes of Label Switched Paths (LSPs). However, the scope derive the routes of Label Switched Paths (LSPs). However, the scope
of PCE was quickly extended to make it applicable to Generalized MPLS of PCE was quickly extended to make it applicable to Generalized MPLS
(GMPLS) networks, and more recent work has brought other traffic (GMPLS) networks, and more recent work has brought other traffic
skipping to change at page 6, line 51 skipping to change at page 7, line 6
o PCRep messages so that a PCE that has been asked to compute a path o PCRep messages so that a PCE that has been asked to compute a path
can suggest which traffic could be placed on a path that a PCC may can suggest which traffic could be placed on a path that a PCC may
be about to set up. be about to set up.
o PCErr messages so that issues related to paths and the traffic o PCErr messages so that issues related to paths and the traffic
they carry can be reported to the PCE by the PCC, and so that they carry can be reported to the PCE by the PCC, and so that
problems with other PCEP messages that carry Flow Specifications problems with other PCEP messages that carry Flow Specifications
can be reported. can be reported.
To carry Flow Specifications in PCEP messages, this document defines To carry Flow Specifications in PCEP messages, this document defines
a new PCEP object called the PCEP Flow Spec Object. The object is a new PCEP object called the PCEP FLOWSPEC Object. The object is
OPTIONAL in the messages described above and MAY appear more than OPTIONAL in the messages described above and MAY appear more than
once in each message. once in each message.
The PCEP Flow Spec Object carries zero or one Flow Filter TLV which The PCEP FLOWSPEC Object carries zero or one Flow Filter TLV which
describes a traffic flow. describes a traffic flow.
The inclusion of multiple PCEP Flow Spec Objects allows multiple The inclusion of multiple PCEP FLOWSPEC Objects allows multiple
traffic flows to be placed on a single path. traffic flows to be placed on a single path.
Once a PCE and PCC have established that they can both support the Once a PCE and PCC have established that they can both support the
use of Flow Specifications in PCEP messages, such information may be use of Flow Specifications in PCEP messages, such information may be
exchanged at any time for new or existing paths. exchanged at any time for new or existing paths.
The application and prioritization of Flow Specifications is The application and prioritization of Flow Specifications is
described in Section 8.7. described in Section 8.7.
3.3. Flow Specification Synchronization 3.3. Flow Specification Synchronization
skipping to change at page 8, line 22 skipping to change at page 8, line 22
Figure 1: PCE-FLOWSPEC-CAPABILITY TLV format Figure 1: PCE-FLOWSPEC-CAPABILITY TLV format
The type of the PCE-FLOWSPEC-CAPABILITY TLV is TBD2 and it has a The type of the PCE-FLOWSPEC-CAPABILITY TLV is TBD2 and it has a
fixed length of 2 octets. The Value field is set to default value 0. fixed length of 2 octets. The Value field is set to default value 0.
The two bytes of padding MUST be set to zero and ignored on receipt. The two bytes of padding MUST be set to zero and ignored on receipt.
The inclusion of this TLV in an OPEN object indicates that the sender The inclusion of this TLV in an OPEN object indicates that the sender
can perform FlowSpec handling as defined in this document. can perform FlowSpec handling as defined in this document.
5. PCEP Flow Spec Object 5. PCEP FLOWSPEC Object
The PCEP Flow Spec object defined in this document is compliant with The PCEP FLOWSPEC object defined in this document is compliant with
the PCEP object format defined in [RFC5440]. It is OPTIONAL in the the PCEP object format defined in [RFC5440]. It is OPTIONAL in the
PCReq, PCRep, PCErr, PCInitiate, PCRpt, and PCUpd messages and MAY be PCReq, PCRep, PCErr, PCInitiate, PCRpt, and PCUpd messages and MAY be
present zero, one, or more times. Each instance of the object present zero, one, or more times. Each instance of the object
specifies a traffic flow. specifies a traffic flow.
The PCEP Flow Spec object carries a FlowSpec filter rule encoded in a The PCEP FLOWSPEC object carries a FlowSpec filter rule encoded in a
TLV (as defined in Section 6. TLV (as defined in Section 6.
The FLOW SPEC Object-Class is TBD3 (to be assigned by IANA). The FLOWSPEC Object-Class is TBD3 (to be assigned by IANA).
The FLOW SPEC Object-Type is 1. The FLOWSPEC Object-Type is 1.
The format of the body of the PCEP Flow Spec object is shown in The format of the body of the PCEP FLOWSPEC object is shown in
Figure 2 Figure 2
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FS-ID | | FS-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |R| | AFI | Reserved | Flags |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Flow Filter TLV (variable) | | Flow Filter TLV (variable) |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: PCEP Flow Spec Object Body Format Figure 2: PCEP FLOWSPEC Object Body Format
FS-ID (32-bits): A PCEP-specific identifier for the FlowSpec FS-ID (32-bits): A PCEP-specific identifier for the FlowSpec
information. A PCE or PCC creates an FS-ID for each FlowSpec that it information. A PCE or PCC creates an FS-ID for each FlowSpec that it
originates, and the value is unique within the scope of that PCE or originates, and the value is unique within the scope of that PCE or
PCC and is constant for the lifetime of a PCEP session. All PCC and is constant for the lifetime of a PCEP session. All
subsequent PCEP messages can identify the FlowSpec using the FS-ID. subsequent PCEP messages can identify the FlowSpec using the FS-ID.
The values 0 and 0xFFFFFFFF are reserved and MUST NOT be used. The values 0 and 0xFFFFFFFF are reserved and MUST NOT be used.
Reserved bits: MUST be set to zero on transmission and ignored on AFI (16-bits): Address Family Identifier as used in BGP [RFC4760]
(AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per as per
[I-D.ietf-idr-flow-spec-v6]).
Reserved (8-bits): MUST be set to zero on transmission and ignored on
receipt. receipt.
R bit: The Remove bit is set when a PCEP Flow Spec Object is included Flags (8-bits): One flag is currently assigned -
in a PCEP message to indicate removal of the Flow Specification from
the associated tunnel. If the bit is clear, the Flow Specification R bit: The Remove bit is set when a PCEP FLOWSPEC Object is
is being added or modified. included in a PCEP message to indicate removal of the Flow
Specification from the associated tunnel. If the bit is clear,
the Flow Specification is being added or modified.
Unassigned bits MUST be set to zero on transmission and ignored on
receipt.
If the PCEP speaker receives a message with R bit set in FLOWSPEC
object and the Flow Specification identified with a FS-ID does not
exist, it MUST generate a PCErr with Error-type TBD8 (FlowSpec
Error), error-value 4 (Unknown FlowSpec).
If the PCEP speaker does not understand or support the AFI in the
FLOWSPEC message, the PCEP peer MUST respond with a PCErr message
with error-type TBD8 (FlowSpec Error), error-value 2 (Malformed
FlowSpec).
Flow Filter TLV (variable): One TLV MAY be included. Flow Filter TLV (variable): One TLV MAY be included.
The Flow Filter TLV is OPTIONAL when the R bit is set. The TLV MUST The Flow Filter TLV is OPTIONAL when the R bit is set. The TLV MUST
be present when the R bit is clear. If the TLV is missing when the R be present when the R bit is clear. If the TLV is missing when the R
bit is clear, the PCEP peer MUST respond with a PCErr message with bit is clear, the PCEP peer MUST respond with a PCErr message with
error-type TBD8 (FlowSpec Error), error-value 2 (Malformed FlowSpec). error-type TBD8 (FlowSpec Error), error-value 2 (Malformed FlowSpec).
6. Flow Filter TLV 6. Flow Filter TLV
skipping to change at page 10, line 21 skipping to change at page 10, line 40
7. Flow Specification TLVs 7. Flow Specification TLVs
The Flow Filter TLV carries one or more Flow Specification TLV. The The Flow Filter TLV carries one or more Flow Specification TLV. The
Flow Specification TLV follows the format of all PCEP TLVs as defined Flow Specification TLV follows the format of all PCEP TLVs as defined
in [RFC5440], however, the Type values are selected from a separate in [RFC5440], however, the Type values are selected from a separate
IANA registry (see Section 10) rather than from the common PCEP TLV IANA registry (see Section 10) rather than from the common PCEP TLV
registry. registry.
Type values are chosen so that there can be commonality with Flow Type values are chosen so that there can be commonality with Flow
Specifications defined for use with BGP. This is possible because Specifications defined for use with BGP [RFC5575]. This is possible
the BGP Flow Spec encoding uses a single octet to encode the type because the BGP Flow Spec encoding uses a single octet to encode the
where PCEP uses two octets. Thus the space of values for the Type type where as PCEP uses two octets. Thus the space of values for the
field is partitioned as shown in Figure 3. Type field is partitioned as shown in Figure 3.
Range | Range |
---------------+--------------------------------------------------- ---------------+---------------------------------------------------
0 | Reserved - must not be allocated. 0 | Reserved - must not be allocated.
| |
1 .. 255 | Per BGP registry defined by [RFC5575]. 1 .. 255 | Per BGP registry defined by [RFC5575] and
| [I-D.ietf-idr-flow-spec-v6].
| Not to be allocated in this registry. | Not to be allocated in this registry.
| |
256 .. 65535 | New PCEP Flow Specifications allocated according 256 .. 65535 | New PCEP Flow Specifications allocated according
| to the registry defined in this document. | to the registry defined in this document.
Figure 3: Flow Specification TLV Type Ranges Figure 3: Flow Specification TLV Type Ranges
The content of the Value field in each TLV is specific to the type [RFC5575] created the registry "Flow Spec Component Types" and made
and describes the parameters of the Flow Specification. The allocations to it. [I-D.ietf-idr-flow-spec-v6] requested for another
registry "Flow Spec IPv6 Component Types" and requested initial
allocations in it. If the AFI (in the FLOWSPEC object) is set to
IPv4, the range 1..255 is as per "Flow Spec Component Types"
[RFC5575]; if the AFI is set to IPv6, the range 1..255 is as per
"Flow Spec IPv6 Component Types" [I-D.ietf-idr-flow-spec-v6]. When
future BGP specifications (such as [I-D.ietf-idr-flowspec-l2vpn])
make further allocations to the aforementioned registries, they are
also inherited to be used in PCEP.
The content of the Value field in each TLV is specific to the type/
AFI and describes the parameters of the Flow Specification. The
definition of the format of many of these Value fields is inherited definition of the format of many of these Value fields is inherited
from BGP specifications as shown in Figure 4. Specifically, the from BGP specifications as shown in Figure 6. Specifically, the
inheritance is from [RFC5575] and [I-D.ietf-idr-flow-spec-v6], but inheritance is from [RFC5575] and [I-D.ietf-idr-flow-spec-v6], but
may also be inherited from future BGP specifications. may also be inherited from future BGP specifications. This is a non-
exhaustive list for illustration purpose.
When multiple Flow Specification TLVs are present in a single Flow When multiple Flow Specification TLVs are present in a single Flow
Filter TLV they are combined to produce a more detailed description Filter TLV they are combined to produce a more detailed description
of a flow. For examples and rules about how this is achieved, see of a flow. For examples and rules about how this is achieved, see
[RFC5575]. [RFC5575].
An implementation that receives a PCEP message carrying a Flow An implementation that receives a PCEP message carrying a Flow
Specification TLV with a type value that it does not recognize or Specification TLV with a type value that it does not recognize or
does not support MUST respond with a PCErr message with error-type does not support MUST respond with a PCErr message with error-type
TBD8 (FlowSpec Error), error-value 1 (Unsupported FlowSpec) and MUST TBD8 (FlowSpec Error), error-value 1 (Unsupported FlowSpec) and MUST
skipping to change at page 12, line 5 skipping to change at page 12, line 10
When used in other protocols (such as BGP) these Flow Specifications When used in other protocols (such as BGP) these Flow Specifications
are also associated with actions to indicate how traffic matching the are also associated with actions to indicate how traffic matching the
Flow Specification should be treated. In PCEP, however, the only Flow Specification should be treated. In PCEP, however, the only
action is to associate the traffic with a tunnel and to forward action is to associate the traffic with a tunnel and to forward
matching traffic on to that path, so no encoding of an action is matching traffic on to that path, so no encoding of an action is
needed. needed.
Section 8.7 describes how overlapping Flow Specifications are Section 8.7 describes how overlapping Flow Specifications are
prioritized and handled. prioritized and handled.
All Flow Specification TLVs with Types in the range 1 to 255 have
Values defined for use in BGP (for example, in [RFC5575],
[I-D.ietf-idr-flow-spec-v6], and [I-D.ietf-idr-flowspec-l2vpn]) and
are set using the BGP encoding, but without the type or length octets
(the relevant information is in the Type and Length fields of the
TLV). The Value field is padded with trailing zeros to achieve
4-byte alignment.
This document defines following new types -
+-------+-------------------------+-----------------------------+ +-------+-------------------------+-----------------------------+
| Type | Description | Value defined in | | Type | Description | Value defined in |
| | | | | | | |
+-------+-------------------------+-----------------------------+ +-------+-------------------------+-----------------------------+
| * | Destination IPv4 Prefix | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Source IPv4 Prefix | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | IP Protocol | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Destination port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Source port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | ICMP type | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | ICMP code | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | TCP flags | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Packet length | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | DSCP | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Fragment | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Flow Label | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Destination IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Source IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Next Header | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| TBD5 | Route Distinguisher | [I-D.dhodylee-pce-pcep-ls] | | TBD5 | Route Distinguisher | [I-D.dhodylee-pce-pcep-ls] |
+-------+-------------------------+-----------------------------+ +-------+-------------------------+-----------------------------+
| TBD6 | IPv4 Multicast Flow | [This.I-D] | | TBD6 | IPv4 Multicast Flow | [This.I-D] |
+-------+-------------------------+-----------------------------+ +-------+-------------------------+-----------------------------+
| TBD7 | IPv6 Multicast Flow | [This.I-D] | | TBD7 | IPv6 Multicast Flow | [This.I-D] |
+-------+-------------------------+-----------------------------+ +-------+-------------------------+-----------------------------+
* Indicates that the TLV Type value comes from the value used Figure 4: Table of Flow Specification TLV Types defined in this
in BGP. document
Figure 4: Table of Flow Specification TLV Types
All Flow Specification TLVs with Types in the range 1 to 255 have
Values defined for use in BGP (for example, in [RFC5575] and
[I-D.ietf-idr-flow-spec-v6]) and are set using the BGP encoding, but
without the type or length octets (the relevant information is in the
Type and Length fields of the TLV). The Value field is padded with
trailing zeros to achieve 4-byte alignment.
[I-D.dhodylee-pce-pcep-ls] defines a way to convey identification of [I-D.dhodylee-pce-pcep-ls] defines a way to convey identification of
a VPN in PCEP via a Route Distinguisher (RD) [RFC4364] encoded in a VPN in PCEP via a Route Distinguisher (RD) [RFC4364] encoded in
ROUTE-DISTINGUISHER TLV. A Flow Specification TLV with Type TBD5 ROUTE-DISTINGUISHER TLV. A Flow Specification TLV with Type TBD5
carries a Value field matching that present in the ROUTE- carries a Value field matching that present in the ROUTE-
DISTINGUISHER TLV and is used to identify that other flow filter DISTINGUISHER TLV and is used to identify that other flow filter
information (for example, an IPv4 destination prefix) is associated information (for example, an IPv4 destination prefix) is associated
with a specific VPN identified by the RD. See Section 8.6 for with a specific VPN identified by the RD. See Section 8.6 for
further discussion of VPN identification. further discussion of VPN identification.
skipping to change at page 14, line 15 skipping to change at page 13, line 38
8.1. Default Behavior and Backward Compatibility 8.1. Default Behavior and Backward Compatibility
The default behavior is that no Flow Specification is applied to a The default behavior is that no Flow Specification is applied to a
tunnel. That is, the default is that the Flow Spec object is not tunnel. That is, the default is that the Flow Spec object is not
used as is the case in all systems before the implementation of this used as is the case in all systems before the implementation of this
specification. specification.
In this case it is a local matter (such as through configuration) how In this case it is a local matter (such as through configuration) how
tunnel head ends are instructed what traffic to place on a tunnel. tunnel head ends are instructed what traffic to place on a tunnel.
[RFC5440]describes how receivers respond when they see unknown PCEP [RFC5440] describes how receivers respond when they see unknown PCEP
objects. objects.
8.2. Composite Flow Specifications 8.2. Composite Flow Specifications
Flow Specifications may be represented by a single Flow Specification Flow Specifications may be represented by a single Flow Specification
TLV or may require a more complex description using multiple Flow TLV or may require a more complex description using multiple Flow
Specification TLVs. For example, a flow indicated by a source- Specification TLVs. For example, a flow indicated by a source-
destination pair of IPv6 addresses would be described by the destination pair of IPv6 addresses would be described by the
combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow combination of Destination IPv6 Prefix and Source IPv6 Prefix Flow
Specification TLVs. Specification TLVs.
skipping to change at page 16, line 14 skipping to change at page 15, line 39
An implementation that receives a PCEP message carrying a Flow An implementation that receives a PCEP message carrying a Flow
Specification that it cannot resolve against other Flow Specification that it cannot resolve against other Flow
Specifications already installed MUST respond with a PCErr message Specifications already installed MUST respond with a PCErr message
with error-type TBD8 (FlowSpec Error), error-value 3 (Unresolvable with error-type TBD8 (FlowSpec Error), error-value 3 (Unresolvable
conflict) and MUST NOT install the Flow Specification. conflict) and MUST NOT install the Flow Specification.
9. PCEP Messages 9. PCEP Messages
The figures in this section use the notation defined in [RFC5511]. The figures in this section use the notation defined in [RFC5511].
The FLOW SPEC Object is OPTIONAL and MAY be carried in the PCEP The FLOWSPEC Object is OPTIONAL and MAY be carried in the PCEP
messages. messages.
The PCInitiate message is defined in [RFC8281] and updated as below: The PCInitiate message is defined in [RFC8281] and updated as below:
<PCInitiate Message> ::= <Common Header> <PCInitiate Message> ::= <Common Header>
<PCE-initiated-lsp-list> <PCE-initiated-lsp-list>
Where: Where:
<PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request>
[<PCE-initiated-lsp-list>] [<PCE-initiated-lsp-list>]
skipping to change at page 19, line 19 skipping to change at page 18, line 38
points for the protocol elements defined in this document. points for the protocol elements defined in this document.
10.1. PCEP Objects 10.1. PCEP Objects
Each PCEP object has an Object-Class and an Object-Type. IANA Each PCEP object has an Object-Class and an Object-Type. IANA
maintains a subregistry called "PCEP Objects". IANA is requested to maintains a subregistry called "PCEP Objects". IANA is requested to
make an assignment from this subregistry as follows: make an assignment from this subregistry as follows:
Object-Class | Value Name | Object-Type | Reference Object-Class | Value Name | Object-Type | Reference
-------------+-------------+------------------------+---------------- -------------+-------------+------------------------+----------------
TBD3 | FLOW SPEC | 0: Reserved | [This.I-D] TBD3 | FLOWSPEC | 0: Reserved | [This.I-D]
| | 1: Flow Specification | [This.I-D] | | 1: Flow Specification | [This.I-D]
10.1.1. PCEP FLOWSPEC Object Flag Field
This document requests that a new sub-registry, named "FLOW SPEC
Object Flag Field", is created within the "Path Computation Element
Protocol (PCEP) Numbers" registry to manage the Flag field of the
FLOWSPEC object. New values are to be assigned by Standards Action
[RFC8126]. Each bit should be tracked with the following qualities:
o Bit number (counting from bit 0 as the most significant bit)
o Capability description
o Defining RFC
The following values are defined in this document:
Bit Description Reference
31 Remove (R-bit) [This.I-D]
10.2. PCEP TLV Type Indicators 10.2. PCEP TLV Type Indicators
IANA maintains a subregistry called "PCEP TLV Type Indicators". IANA IANA maintains a subregistry called "PCEP TLV Type Indicators". IANA
is requested to make an assignment from this subregistry as follows: is requested to make an assignment from this subregistry as follows:
Value | Meaning | Reference Value | Meaning | Reference
--------+------------------------------+------------- --------+------------------------------+-------------
TBD2 | PCE-FLOWSPEC-CAPABILITY TLV | [This.I-D] TBD2 | PCE-FLOWSPEC-CAPABILITY TLV | [This.I-D]
TBD4 | FLOW FILTER TLV | [This.I-D] TBD4 | FLOW FILTER TLV | [This.I-D]
skipping to change at page 20, line 10 skipping to change at page 20, line 10
Specification TLV Type Indicators" registry. Specification TLV Type Indicators" registry.
Allocations from this registry are to be made according to the Allocations from this registry are to be made according to the
following assignment policies [RFC8126]: following assignment policies [RFC8126]:
Range | Assignment policy Range | Assignment policy
---------------+--------------------------------------------------- ---------------+---------------------------------------------------
0 | Reserved - must not be allocated. 0 | Reserved - must not be allocated.
| |
1 .. 255 | Reserved - must not be allocated. 1 .. 255 | Reserved - must not be allocated.
| Usage mirrors the BGP FlowSpec registry [RFC5575]. | Usage mirrors the BGP FlowSpec registry [RFC5575]
| & [I-D.ietf-idr-flow-spec-v6].
| |
258 .. 64506 | Specification Required 256 .. 64506 | Specification Required
| |
64507 .. 65531 | First Come First Served 64507 .. 65531 | First Come First Served
| |
65532 .. 65535 | Experimental 65532 .. 65535 | Experimental
IANA is requested to pre-populate this registry with values defined IANA is requested to pre-populate this registry with values defined
in this document as follows, taking the new values from the range 258 in this document as follows, taking the new values from the range 256
to 64506: to 64506:
Value | Meaning Value | Meaning
-------+------------------------ -------+------------------------
TBD5 | Route Distinguisher TBD5 | Route Distinguisher
TBD6 | IPv4 Multicast TBD6 | IPv4 Multicast
TBD7 | IPv6 Multicast TBD7 | IPv6 Multicast
10.4. PCEP Error Codes 10.4. PCEP Error Codes
skipping to change at page 20, line 42 skipping to change at page 20, line 43
and Error-value. IANA is requested to make the following assignment and Error-value. IANA is requested to make the following assignment
from this subregistry: from this subregistry:
Error-| Meaning | Error-value | Reference Error-| Meaning | Error-value | Reference
Type | | | Type | | |
-------+--------------------+----------------------------+----------- -------+--------------------+----------------------------+-----------
TBD8 | FlowSpec error | 0: Unassigned | [This.I-D] TBD8 | FlowSpec error | 0: Unassigned | [This.I-D]
| | 1: Unsupported FlowSpec | [This.I-D] | | 1: Unsupported FlowSpec | [This.I-D]
| | 2: Malformed FlowSpec | [This.I-D] | | 2: Malformed FlowSpec | [This.I-D]
| | 3: Unresolvable conflict | [This.I-D] | | 3: Unresolvable conflict | [This.I-D]
| | 4-255: Unassigned | [This.I-D] | | 4: Unknown FlowSpec | [This.I-D]
| | 5-255: Unassigned | [This.I-D]
10.5. PCE Capability Flag 10.5. PCE Capability Flag
IANA maintains a subregistry called "Open Shortest Path First v2 IANA maintains a subregistry called "Open Shortest Path First v2
(OSPFv2) Parameters" with a sub-registry called "Path Computation (OSPFv2) Parameters" with a sub-registry called "Path Computation
Element (PCE) Capability Flags". IANA is requested to assign a new Element (PCE) Capability Flags". IANA is requested to assign a new
capability bit from this registry as follows: capability bit from this registry as follows:
Bit | Capability Description | Reference Bit | Capability Description | Reference
-------+-------------------------------+------------ -------+-------------------------------+------------
skipping to change at page 22, line 28 skipping to change at page 22, line 28
Dhody, D., Lee, Y., and D. Ceccarelli, "PCEP Extension for Dhody, D., Lee, Y., and D. Ceccarelli, "PCEP Extension for
Distribution of Link-State and TE Information.", draft- Distribution of Link-State and TE Information.", draft-
dhodylee-pce-pcep-ls-11 (work in progress), June 2018. dhodylee-pce-pcep-ls-11 (work in progress), June 2018.
[I-D.ietf-idr-flow-spec-v6] [I-D.ietf-idr-flow-spec-v6]
McPherson, D., Raszuk, R., Pithawala, B., McPherson, D., Raszuk, R., Pithawala, B.,
akarch@cisco.com, a., and S. Hares, "Dissemination of Flow akarch@cisco.com, a., and S. Hares, "Dissemination of Flow
Specification Rules for IPv6", draft-ietf-idr-flow-spec- Specification Rules for IPv6", draft-ietf-idr-flow-spec-
v6-09 (work in progress), November 2017. v6-09 (work in progress), November 2017.
[I-D.ietf-idr-flowspec-l2vpn]
Weiguo, H., liangqiandeng, l., Uttaro, J., Litkowski, S.,
and S. Zhuang, "Dissemination of Flow Specification Rules
for L2 VPN", draft-ietf-idr-flowspec-l2vpn-08 (work in
progress), July 2018.
[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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760,
DOI 10.17487/RFC4760, January 2007,
<https://www.rfc-editor.org/info/rfc4760>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440, Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009, DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>. <https://www.rfc-editor.org/info/rfc5440>.
[RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax
Used to Form Encoding Rules in Various Routing Protocol Used to Form Encoding Rules in Various Routing Protocol
Specifications", RFC 5511, DOI 10.17487/RFC5511, April Specifications", RFC 5511, DOI 10.17487/RFC5511, April
2009, <https://www.rfc-editor.org/info/rfc5511>. 2009, <https://www.rfc-editor.org/info/rfc5511>.
skipping to change at page 23, line 13 skipping to change at page 23, line 22
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
"PCEPS: Usage of TLS to Provide a Secure Transport for the "PCEPS: Usage of TLS to Provide a Secure Transport for the
Path Computation Element Communication Protocol (PCEP)", Path Computation Element Communication Protocol (PCEP)",
RFC 8253, DOI 10.17487/RFC8253, October 2017, RFC 8253, DOI 10.17487/RFC8253, October 2017,
<https://www.rfc-editor.org/info/rfc8253>. <https://www.rfc-editor.org/info/rfc8253>.
14.2. Informative References 14.2. Informative References
[I-D.ietf-idr-flowspec-mpls-match]
Yong, L., Hares, S., liangqiandeng, l., and J. You, "BGP
Flow Specification Filter for MPLS Label", draft-ietf-idr-
flowspec-mpls-match-01 (work in progress), December 2016.
[I-D.ietf-pce-segment-routing] [I-D.ietf-pce-segment-routing]
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "PCEP Extensions for Segment Routing", and J. Hardwick, "PCEP Extensions for Segment Routing",
draft-ietf-pce-segment-routing-12 (work in progress), June draft-ietf-pce-segment-routing-14 (work in progress),
2018. October 2018.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
2006, <https://www.rfc-editor.org/info/rfc4364>. 2006, <https://www.rfc-editor.org/info/rfc4364>.
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655, Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006, DOI 10.17487/RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>. <https://www.rfc-editor.org/info/rfc4655>.
skipping to change at page 24, line 40 skipping to change at page 25, line 5
Extensions for PCE-Initiated LSP Setup in a Stateful PCE Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>. <https://www.rfc-editor.org/info/rfc8281>.
[RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An
Architecture for Use of PCE and the PCE Communication Architecture for Use of PCE and the PCE Communication
Protocol (PCEP) in a Network with Central Control", Protocol (PCEP) in a Network with Central Control",
RFC 8283, DOI 10.17487/RFC8283, December 2017, RFC 8283, DOI 10.17487/RFC8283, December 2017,
<https://www.rfc-editor.org/info/rfc8283>. <https://www.rfc-editor.org/info/rfc8283>.
Appendix A. Contributors Appendix A. Flow Specification TLV Types
[Editor's Note: This section is added for illustration of various
Types supported, some are inherited from BGP and others are defined
in this document. This section might be removed at the time of final
publication.]
+-------+-------------------------+-----------------------------+
| Type | Description | Value defined in |
| | | |
+-------+-------------------------+-----------------------------+
| * | Destination IPv4 Prefix | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Destination IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Source IPv4 Prefix | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Source IPv6 Prefix | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | IP Protocol | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Next Header | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Destination port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Source port | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | ICMP type | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | ICMP code | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | TCP flags | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Packet length | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | DSCP | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Fragment | [RFC5575] |
+-------+-------------------------+-----------------------------+
| * | Flow Label | [I-D.ietf-idr-flow-spec-v6] |
+-------+-------------------------+-----------------------------+
| * | Ethernet Type | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | Source MAC | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | Destination MAC | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | DSAP in LLC | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | SSAP in LLC | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | Control field in LLC | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | SNAP | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | VLAN ID | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | VLAN COS | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | Inner VLAN ID | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | Inner VLAN COS | [I-D.ietf-idr-flowspec- |
| | | l2vpn] |
+-------+-------------------------+-----------------------------+
| * | MPLS Label | [I-D.ietf-idr-flowspec-mpls-|
| | | match] |
+-------+-------------------------+-----------------------------+
| TBD5 | Route Distinguisher | [I-D.dhodylee-pce-pcep-ls] |
+-------+-------------------------+-----------------------------+
| TBD6 | IPv4 Multicast Flow | [This.I-D] |
+-------+-------------------------+-----------------------------+
| TBD7 | IPv6 Multicast Flow | [This.I-D] |
+-------+-------------------------+-----------------------------+
* Indicates that the TLV Type value comes from the value used
in BGP.
This is a non-exhaustive list for illustration purpose.
Figure 6: Table of Flow Specification TLV Types
Appendix B. Contributors
Shankara Shankara
Huawei Technologies Huawei Technologies
Divyashree Techno Park, Divyashree Techno Park,
Whitefield Bangalore, Whitefield Bangalore,
Karnataka Karnataka
560066 560066
India India
Email: shankara@huawei.com Email: shankara@huawei.com
skipping to change at page 26, line 18 skipping to change at page 28, line 28
Huawei Technologies Huawei Technologies
Divyashree Techno Park, Whitefield Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066 Bangalore, Karnataka 560066
India India
Email: dhruv.ietf@gmail.com Email: dhruv.ietf@gmail.com
Adrian Farrel (editor) Adrian Farrel (editor)
Juniper Networks Juniper Networks
Email: afarrel@juniper.net Email: adrian@olddog.co.uk
Zhenbin Li Zhenbin Li
Huawei Technologies Huawei Technologies
Huawei Bld., No.156 Beiqing Rd. Huawei Bld., No.156 Beiqing Rd.
Beijing 100095 Beijing 100095
China China
Email: lizhenbin@huawei.com Email: lizhenbin@huawei.com
 End of changes. 44 change blocks. 
93 lines changed or deleted 226 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/