draft-ietf-pce-pcep-flowspec-07.txt   draft-ietf-pce-pcep-flowspec-08.txt 
Network Working Group D. Dhody Network Working Group D. Dhody
Internet-Draft Huawei Technologies Internet-Draft Huawei Technologies
Intended status: Standards Track A. Farrel Intended status: Standards Track A. Farrel
Expires: July 8, 2020 Old Dog Consulting Expires: September 5, 2020 Old Dog Consulting
Z. Li Z. Li
Huawei Technologies Huawei Technologies
January 5, 2020 March 4, 2020
PCEP Extension for Flow Specification PCEP Extension for Flow Specification
draft-ietf-pce-pcep-flowspec-07 draft-ietf-pce-pcep-flowspec-08
Abstract Abstract
The Path Computation Element (PCE) is a functional component capable The Path Computation Element (PCE) is a functional component capable
of selecting paths through a traffic engineering network. These of selecting paths through a traffic engineering 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 2, line 7 skipping to change at page 2, line 7
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 July 8, 2020. This Internet-Draft will expire on September 5, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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 37 skipping to change at page 2, line 37
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Procedures for PCE Use of Flow Specifications . . . . . . . . 5 3. Procedures for PCE Use of Flow Specifications . . . . . . . . 5
3.1. Context for PCE Use of Flow Specifications . . . . . . . 5 3.1. Context for PCE Use of Flow Specifications . . . . . . . 5
3.2. Elements of Procedure . . . . . . . . . . . . . . . . . . 6 3.2. Elements of Procedure . . . . . . . . . . . . . . . . . . 6
3.2.1. Capability Advertisement . . . . . . . . . . . . . . 6 3.2.1. Capability Advertisement . . . . . . . . . . . . . . 6
3.2.2. Dissemination Procedures . . . . . . . . . . . . . . 7 3.2.2. Dissemination Procedures . . . . . . . . . . . . . . 7
3.2.3. Flow Specification Synchronization . . . . . . . . . 8 3.2.3. Flow Specification Synchronization . . . . . . . . . 8
4. PCE FlowSpec Capability TLV . . . . . . . . . . . . . . . . . 9 4. PCE FlowSpec Capability TLV . . . . . . . . . . . . . . . . . 9
5. PCEP FLOWSPEC Object . . . . . . . . . . . . . . . . . . . . 9 5. PCEP FLOWSPEC Object . . . . . . . . . . . . . . . . . . . . 9
6. Flow Filter TLV . . . . . . . . . . . . . . . . . . . . . . . 11 6. Flow Filter TLV . . . . . . . . . . . . . . . . . . . . . . . 11
7. Flow Specification TLVs . . . . . . . . . . . . . . . . . . . 11 7. Flow Specification TLVs . . . . . . . . . . . . . . . . . . . 12
8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 15 8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 15
8.1. Default Behavior and Backward Compatibility . . . . . . . 15 8.1. Default Behavior and Backward Compatibility . . . . . . . 16
8.2. Composite Flow Specifications . . . . . . . . . . . . . . 15 8.2. Composite Flow Specifications . . . . . . . . . . . . . . 16
8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 16 8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 16
8.4. Multiple Flow Specifications . . . . . . . . . . . . . . 16 8.4. Multiple Flow Specifications . . . . . . . . . . . . . . 16
8.5. Adding and Removing Flow Specifications . . . . . . . . . 16 8.5. Adding and Removing Flow Specifications . . . . . . . . . 17
8.6. VPN Identifiers . . . . . . . . . . . . . . . . . . . . . 17 8.6. VPN Identifiers . . . . . . . . . . . . . . . . . . . . . 17
8.7. Priorities and Overlapping Flow Specifications . . . . . 17 8.7. Priorities and Overlapping Flow Specifications . . . . . 17
9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 18 9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 18
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 21 10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 21
10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 21 10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 21
10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 22 10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 22
10.3. Flow Specification TLV Type Indicators . . . . . . . . . 22 10.3. Flow Specification TLV Type Indicators . . . . . . . . . 22
10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 23 10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 23
10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 24 10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 24
skipping to change at page 4, line 37 skipping to change at page 4, line 37
[I-D.ietf-idr-rfc5575bis] since no action is explicitly included in [I-D.ietf-idr-rfc5575bis] since no action is explicitly included in
the encoding. the encoding.
The extensions defined in this document include the creation, update, The extensions defined in this document include the creation, update,
and withdrawal of Flow Specifications via PCEP, and can be applied to and withdrawal of Flow Specifications via PCEP, and can be applied to
tunnels initiated by the PCE or to tunnels where control is delegated tunnels initiated by the PCE or to tunnels where control is delegated
to the PCE by the PCC. Furthermore, a PCC requesting a new path can to the PCE by the PCC. Furthermore, a PCC requesting a new path can
include Flow Specifications in the request to indicate the purpose of include Flow Specifications in the request to indicate the purpose of
the tunnel allowing the PCE to factor this into the path computation. the tunnel allowing the PCE to factor this into the path computation.
Flow Specifications are carried in TLVs within a new Flow Spec Object Flow Specifications are carried in TLVs within a new object called
defined in this document. The flow filtering rules indicated by the the FLOWSPEC object defined in this document. The flow filtering
Flow Specifications are mainly defined by BGP Flow Specifications. rules indicated by the Flow Specifications are mainly defined by BGP
Flow Specifications.
2. Terminology 2. Terminology
This document uses the following terms defined in [RFC5440]: PCC, This document uses the following terms defined in [RFC5440]: PCC,
PCE, PCEP Peer. PCE, PCEP Peer.
The following term from [I-D.ietf-idr-rfc5575bis] is used frequently The following term from [I-D.ietf-idr-rfc5575bis] is used frequently
throughout this document: throughout this document:
Flow Specification (FlowSpec): A Flow Specification is an n-tuple Flow Specification (FlowSpec): A Flow Specification is an n-tuple
consisting of several matching criteria that can be applied to IP consisting of several matching criteria that can be applied to IP
traffic, including filters and actions. Each FlowSpec consists of traffic, including filters and actions. Each FlowSpec consists of
a set of filters and a set of actions. a set of filters and a set of actions.
However, in the context of this document, no action is specified as However, in the context of this document, no action is specified as
part of the FlowSpec since the action "forward all matching traffic part of the FlowSpec since the action "forward all matching traffic
onto the associated path" is implicit. onto the associated path" is implicit. How an implementation decides
how to filter traffic that matches a Flow Specification does not form
part of this specification, but a flag is provided to indicate that
the sender of a PCEP message that includes a Flow Specification is
intended to be installed as a Longest Prefix Match route, or as a
Flow Specification policy.
This document uses the terms "stateful PCE" and "active PCE" as This document uses the terms "stateful PCE" and "active PCE" as
advocated in [RFC7399]. advocated in [RFC7399].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
skipping to change at page 6, line 48 skipping to change at page 6, line 52
a PCE's OPEN message indicates that the PCE can distribute FlowSpecs a PCE's OPEN message indicates that the PCE can distribute FlowSpecs
to PCCs and can receive FlowSpecs in messages from PCCs. to PCCs and can receive FlowSpecs in messages from PCCs.
The presence of the PCE FlowSpec Capability TLV in the OPEN Object in The presence of the PCE FlowSpec Capability TLV in the OPEN Object in
a PCC's OPEN message indicates that the PCC supports the FlowSpec a PCC's OPEN message indicates that the PCC supports the FlowSpec
functionality described in this document. functionality described in this document.
If either one of a pair of PCEP peers does not indicate support of If either one of a pair of PCEP peers does not indicate support of
the functionality described in this document by not including the PCE the functionality described in this document by not including the PCE
FlowSpec Capability TLV in the OPEN Object in its OPEN message, then FlowSpec Capability TLV in the OPEN Object in its OPEN message, then
the other peer MUST NOT include a FlowSpec object in any PCEP message the other peer MUST NOT include a FLOWSPEC object in any PCEP message
sent to the peer that does not support the procedures. If a FlowSpec sent to the peer that does not support the procedures. If a FLOWSPEC
object is received when support has not been indicated, the receiver object is received when support has not been indicated, the receiver
will respond with a PCErr message reporting the objects containing will respond with a PCErr message reporting the objects containing
the FlowSpec as described in [RFC5440]: that is, it will use 'Unknown the FlowSpec as described in [RFC5440]: that is, it will use 'Unknown
Object' if it does not support this specification, and 'Not supported Object' if it does not support this specification, and 'Not supported
object' if it supports this specification but has not chosen to object' if it supports this specification but has not chosen to
support FlowSpec objects on this PCEP session. support FLOWSPEC objects on this PCEP session.
3.2.1.2. IGP PCE Capabilities Advertisement 3.2.1.2. IGP PCE Capabilities Advertisement
The ability to advertise support for PCEP and PCE features in IGP The ability to advertise support for PCEP and PCE features in IGP
advertisements is provided for OSPF in [RFC5088] and for IS-IS in advertisements is provided for OSPF in [RFC5088] and for IS-IS in
[RFC5089]. The mechanism uses the PCE Discovery TLV which has a PCE- [RFC5089]. The mechanism uses the PCE Discovery TLV which has a PCE-
CAP-FLAGS sub-TLV containing bit-flags each of which indicates CAP-FLAGS sub-TLV containing bit-flags each of which indicates
support for a different feature. support for a different feature.
This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSpec This document defines a new PCE-CAP-FLAGS sub-TLV bit, the FlowSpec
skipping to change at page 8, line 15 skipping to change at page 8, line 19
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 FLOWSPEC 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 FLOWSPEC 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 FLOWSPEC 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.
As per [RFC8231], any attributes of the path received from a PCE are As per [RFC8231], any attributes of the path received from a PCE are
skipping to change at page 10, line 9 skipping to change at page 10, line 9
The FLOWSPEC Object-Type is 1. The FLOWSPEC Object-Type is 1.
The format of the body of the PCEP FLOWSPEC 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AFI | Reserved | Flags |R| | AFI | Reserved | Flags |L|R|
0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// TLVs // // TLVs //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: PCEP FLOWSPEC 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
skipping to change at page 10, line 32 skipping to change at page 10, line 33
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.
AFI (16-bits): Address Family Identifier as used in BGP [RFC4760] 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 (AFI=1 for IPv4 or VPNv4, AFI=2 for IPv6 and VPNv6 as per as per
[I-D.ietf-idr-flow-spec-v6]). [I-D.ietf-idr-flow-spec-v6]).
Reserved (8-bits): MUST be set to zero on transmission and ignored on Reserved (8-bits): MUST be set to zero on transmission and ignored on
receipt. receipt.
Flags (8-bits): One flag is currently assigned - Flags (8-bits): Two flags are currently assigned -
R bit: The Remove bit is set when a PCEP FLOWSPEC Object is R bit: The Remove bit is set when a PCEP FLOWSPEC object is
included in a PCEP message to indicate removal of the Flow included in a PCEP message to indicate removal of the Flow
Specification from the associated tunnel. If the bit is clear, Specification from the associated tunnel. If the bit is clear,
the Flow Specification is being added or modified. the Flow Specification is being added or modified.
L bit: The Longest Prefix Match (LPM) bit is set to indicate that
the Flow Specification is to be installed as a route subject to
longest prefix match forwarding. If the bit is clear, the Flow
Specification described by the Flow Filter TLV (see Section 6) is
to be installed as a Flow Specification. If the bit is set, only
Flow Specifications that describe IPv4 or IPv6 destinations are
meaningful in the Flow Filter TLV. If the L is set and the
receiver does not support the use of Flow Specifications that are
present in the Flow Filter TLV for the installation of a route
subject to longest prefix match forwarding, then the PCEP peer
MUST respond with a PCErr message with error-type TBD8 (FlowSpec
Error) and error-value 5 (Unsupported LPM Route).
Unassigned bits MUST be set to zero on transmission and ignored on Unassigned bits MUST be set to zero on transmission and ignored on
receipt. receipt.
If the PCEP speaker receives a message with R bit set in FLOWSPEC If the PCEP speaker receives a message with R bit set in the FLOWSPEC
object and the Flow Specification identified with a FS-ID does not object and the Flow Specification identified with a FS-ID does not
exist, it MUST generate a PCErr with Error-type TBD8 (FlowSpec exist, it MUST generate a PCErr with Error-type TBD8 (FlowSpec
Error), error-value 4 (Unknown FlowSpec). Error), error-value 4 (Unknown FlowSpec).
If the PCEP speaker does not understand or support the AFI in the If the PCEP speaker does not understand or support the AFI in the
FLOWSPEC message, the PCEP peer MUST respond with a PCErr message FLOWSPEC message, the PCEP peer MUST respond with a PCErr message
with error-type TBD8 (FlowSpec Error), error-value 2 (Malformed with error-type TBD8 (FlowSpec Error), error-value 2 (Malformed
FlowSpec). FlowSpec).
Following TLVs can be used in the FLOWSPEC object: The following TLVs can be used in the FLOWSPEC object:
o Speaker Entity Identifier TLV: As specified in [RFC8232], SPEAKER- o Speaker Entity Identifier TLV: As specified in [RFC8232], SPEAKER-
ENTITY-ID TLV encodes a unique identifier for the node that does ENTITY-ID TLV encodes a unique identifier for the node that does
not change during the lifetime of the PCEP speaker. This is used not change during the lifetime of the PCEP speaker. This is used
to uniquely identify the FlowSpec originator and thus used in to uniquely identify the FlowSpec originator and thus used in
conjunction with FS-ID to uniquely identify the FlowSpec conjunction with FS-ID to uniquely identify the FlowSpec
information. This TLV MUST be included. If the TLV is missing, information. This TLV MUST be included. If the TLV is missing,
the PCEP peer MUST respond with a PCErr message with error-type the PCEP peer MUST respond with a PCErr message with error-type
TBD8 (FlowSpec Error), error-value 2 (Malformed FlowSpec). TBD8 (FlowSpec Error), error-value 2 (Malformed FlowSpec).
o Flow Filter TLV (variable): One TLV MAY be included. The Flow o Flow Filter TLV (variable): One TLV MAY be included. The Flow
Filter TLV is OPTIONAL when the R bit is set. The TLV MUST be 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 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 error-type TBD8 (FlowSpec Error) and error-value 2 (Malformed
FlowSpec). FlowSpec).
6. Flow Filter TLV 6. Flow Filter TLV
A new PCEP TLV is defined to convey Flow Specification filtering A new PCEP TLV is defined to convey Flow Specification filtering
rules that specify what traffic is carried on a path. The TLV rules that specify what traffic is carried on a path. The TLV
follows the format of all PCEP TLVs as defined in [RFC5440]. The follows the format of all PCEP TLVs as defined in [RFC5440]. The
Type field values come from the codepoint space for PCEP TLVs and has Type field values come from the codepoint space for PCEP TLVs and has
the value TBD4. the value TBD4.
The Value field contains one or more sub-TLVs (the Flow Specification The Value field contains one or more sub-TLVs (the Flow Specification
TLVs) as defined in Section 7. Only one Flow Filter TLV can be TLVs) as defined in Section 7. Only one Flow Filter TLV can be
present and represents the complete definition of a Flow present and represents the complete definition of a Flow
Specification for traffic to be placed on the tunnel. This tunnel is Specification for traffic to be placed on the tunnel. This tunnel is
indicated by the PCEP message in which the PCEP Flow Spec Object is indicated by the PCEP message in which the PCEP FLOWSPEC object is
carried. The set of Flow Specification TLVs in a single instance of carried. The set of Flow Specification TLVs in a single instance of
a Flow Filter TLV are combined to indicate the specific Flow a Flow Filter TLV are combined to indicate the specific Flow
Specification. Specification.
Further Flow Specifications can be included in a PCEP message by Further Flow Specifications can be included in a PCEP message by
including additional Flow Spec objects. including additional FLOWSPEC objects.
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
skipping to change at page 15, line 29 skipping to change at page 16, line 8
multicast Address prefixes are both ignored. multicast Address prefixes are both ignored.
8. Detailed Procedures 8. Detailed Procedures
This section outlines some specific detailed procedures for using the This section outlines some specific detailed procedures for using the
protocol extensions defined in this document. protocol extensions defined in this document.
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 FLOWSPEC object is not used
used as is the case in all systems before the implementation of this 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) In this case, it is a local matter (such as through configuration)
how tunnel head ends are instructed what traffic to place on a how tunnel head ends are instructed what traffic to place on a
tunnel. 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
skipping to change at page 16, line 14 skipping to change at page 16, line 37
8.3. Modifying Flow Specifications 8.3. Modifying Flow Specifications
A PCE may want to modify a Flow Specification associated with a A PCE may want to modify a Flow Specification associated with a
tunnel, or a PCC may want to report a change to the Flow tunnel, or a PCC may want to report a change to the Flow
Specification it is using with a tunnel. Specification it is using with a tunnel.
It is important that the specific Flow Specification is identified so It is important that the specific Flow Specification is identified so
that it is clear that this is a modification of an existing flow and that it is clear that this is a modification of an existing flow and
not the addition of a new flow as described in Section 8.4. The FS- not the addition of a new flow as described in Section 8.4. The FS-
ID field of the PCEP Flow Spec Object is used to identify a specific ID field of the PCEP FLOWSPEC object is used to identify a specific
Flow Specification. Flow Specification.
When modifying a Flow Specification, all Flow Specification TLVs for When modifying a Flow Specification, all Flow Specification TLVs for
the intended specification of the flow MUST be included in the PCEP the intended specification of the flow MUST be included in the PCEP
Flow Spec Object and the FS-ID MUST be retained from the previous FLOWSPEC object and the FS-ID MUST be retained from the previous
description of the flow. description of the flow.
8.4. Multiple Flow Specifications 8.4. Multiple Flow Specifications
It is possible that multiple flows will be place on a single tunnel. It is possible that multiple flows will be place on a single tunnel.
In some cases it is possible to to define these within a single PCEP In some cases it is possible to to define these within a single PCEP
Flow Spec Object: for example, two Destination IPv4 Prefix TLVs could FLOWSPEC object: for example, two Destination IPv4 Prefix TLVs could
be included to indicate that packets matching either prefix are be included to indicate that packets matching either prefix are
acceptable. PCEP would consider this as a single Flow Specification acceptable. PCEP would consider this as a single Flow Specification
identified by a single FS-ID. identified by a single FS-ID.
In other scenarios the use of multiple Flow Specification TLVs would In other scenarios the use of multiple Flow Specification TLVs would
be confusing. For example, if flows from A to B and from C to D are be confusing. For example, if flows from A to B and from C to D are
to be included then using two Source IPv4 Prefix TLVs and two to be included then using two Source IPv4 Prefix TLVs and two
Destination IPv4 Prefix TLVs would be confusing (are flows from A to Destination IPv4 Prefix TLVs would be confusing (are flows from A to
D included?). In these cases, each Flow Specification is carried in D included?). In these cases, each Flow Specification is carried in
its own PCEP Flow Spec Object with multiple objects present on a its own PCEP FLOWSPEC object with multiple objects present on a
single PCEP message. Use of separate objects also allows easier single PCEP message. Use of separate objects also allows easier
removal and modification of Flow Specifications. removal and modification of Flow Specifications.
8.5. Adding and Removing Flow Specifications 8.5. Adding and Removing Flow Specifications
The Remove bit in the PCEP Flow Spec Object is left clear when a Flow The Remove bit in the PCEP FLOWSPEC object is left clear when a Flow
Specification is being added or modified. Specification is being added or modified.
To remove a Flow Specification, a PCEP Flow Spec Object is included To remove a Flow Specification, a PCEP FLOWSPEC object is included
with the FS-ID matching the one being removed, and the R bit set to with the FS-ID matching the one being removed, and the R bit set to
indicate removal. In this case it is not necessary to include any indicate removal. In this case it is not necessary to include any
Flow Specification TLVs. Flow Specification TLVs.
If the R bit is set and Flow Specification TLVs are present, an If the R bit is set and Flow Specification TLVs are present, an
implementation MAY ignore them. If the implementation checks the implementation MAY ignore them. If the implementation checks the
Flow Specification TLVs against those recorded for the FS-ID of the Flow Specification TLVs against those recorded for the FS-ID of the
Flow Specification being removed and finds a mismatch, the Flow Flow Specification being removed and finds a mismatch, the Flow
Specification MUST still be removed and the implementation SHOULD Specification MUST still be removed and the implementation SHOULD
record a local exception or log. record a local exception or log.
skipping to change at page 18, line 16 skipping to change at page 18, line 38
acts to replace another, that a message be logged for the operator to acts to replace another, that a message be logged for the operator to
understand the behaviour. understand the behaviour.
Section 13.1 of this document covers manageability considerations Section 13.1 of this document covers manageability considerations
relevant to the prioritized ordering of flow specifications. relevant to the prioritized ordering of flow specifications.
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
This section describes the format of messages that contain FLOWSPEC This section describes the format of messages that contain FLOWSPEC
Objects. The only difference to previous message formats is the objects. The only difference to previous message formats is the
inclusion of that object. inclusion of that object.
The figures in this section use the notation defined in [RFC5511]. The figures in this section use the notation defined in [RFC5511].
The FLOWSPEC 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 21, line 43 skipping to change at page 21, line 43
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 | FLOWSPEC | 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 10.1.1. PCEP FLOWSPEC Object Flag Field
This document requests that a new sub-registry, named "FLOW SPEC This document requests that a new sub-registry, named "FLOWSPEC
Object Flag Field", is created within the "Path Computation Element Object Flag Field", is created within the "Path Computation Element
Protocol (PCEP) Numbers" registry to manage the Flag field of the Protocol (PCEP) Numbers" registry to manage the Flag field of the
FLOWSPEC object. New values are to be assigned by Standards Action FLOWSPEC object. New values are to be assigned by Standards Action
[RFC8126]. Each bit should be tracked with the following qualities: [RFC8126]. Each bit should be tracked with the following qualities:
o Bit number (counting from bit 0 as the most significant bit) o Bit number (counting from bit 0 as the most significant bit)
o Capability description o Capability description
o Defining RFC o Defining RFC
The following values are defined in this document: The initial population of this registry is as follows:
Bit Description Reference
31 Remove (R bit) [This.I-D] Bit | Description | Reference
-----+--------------------+-------------
0-5 | Unnassigned |
6 | Remove (L bit) | [This.I-D]
7 | 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 23, line 43 skipping to change at page 23, line 43
and Values". Entries in this subregistry are described by Error-Type and Values". Entries in this subregistry are described by Error-Type
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: Unknown FlowSpec | [This.I-D] | | 4: Unknown FlowSpec | [This.I-D]
| | 5-255: Unassigned | [This.I-D] | | 5: Unsupported LPM Route | [This.I-D]
| | 6-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 28, line 14 skipping to change at page 28, line 14
reduction in mechanisms that have to be applied, rather than a change reduction in mechanisms that have to be applied, rather than a change
to how the traffic is passed through the network. to how the traffic is passed through the network.
13.8. Other Considerations 13.8. Other Considerations
No other manageability considerations are known at this time. No other manageability considerations are known at this time.
14. Acknowledgements 14. Acknowledgements
Thanks to Julian Lucek, Sudhir Cheruathur, Olivier Dugeon, Jayant Thanks to Julian Lucek, Sudhir Cheruathur, Olivier Dugeon, Jayant
Agarwal, Jeffrey Zhang, and Acee Lindem for useful discussions. Agarwal, Jeffrey Zhang, Acee Lindem, and Vishnu Payam Beeram for
useful discussions.
15. References 15. References
15.1. Normative References 15.1. Normative References
[I-D.ietf-idr-flow-spec-v6] [I-D.ietf-idr-flow-spec-v6]
Loibl, C., Raszuk, R., and S. Hares, "Dissemination of Loibl, C., Raszuk, R., and S. Hares, "Dissemination of
Flow Specification Rules for IPv6", draft-ietf-idr-flow- Flow Specification Rules for IPv6", draft-ietf-idr-flow-
spec-v6-10 (work in progress), November 2019. spec-v6-10 (work in progress), November 2019.
[I-D.ietf-idr-rfc5575bis] [I-D.ietf-idr-rfc5575bis]
Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M.
Bacher, "Dissemination of Flow Specification Rules", Bacher, "Dissemination of Flow Specification Rules",
draft-ietf-idr-rfc5575bis-18 (work in progress), November draft-ietf-idr-rfc5575bis-19 (work in progress), January
2019. 2020.
[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, [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, "Multiprotocol Extensions for BGP-4", RFC 4760,
DOI 10.17487/RFC4760, January 2007, DOI 10.17487/RFC4760, January 2007,
<https://www.rfc-editor.org/info/rfc4760>. <https://www.rfc-editor.org/info/rfc4760>.
 End of changes. 40 change blocks. 
47 lines changed or deleted 71 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/