draft-ietf-pce-pcep-flowspec-04.txt   draft-ietf-pce-pcep-flowspec-05.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: February 8, 2020 Old Dog Consulting Expires: February 16, 2020 Old Dog Consulting
Z. Li Z. Li
Huawei Technologies Huawei Technologies
August 7, 2019 August 15, 2019
PCEP Extension for Flow Specification PCEP Extension for Flow Specification
draft-ietf-pce-pcep-flowspec-04 draft-ietf-pce-pcep-flowspec-05
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 49 skipping to change at page 1, line 49
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 February 8, 2020. This Internet-Draft will expire on February 16, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
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 . . . . . . . . . . . . . . . . . . . 11
8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 15 8. Detailed Procedures . . . . . . . . . . . . . . . . . . . . . 15
8.1. Default Behavior and Backward Compatibility . . . . . . . 15 8.1. Default Behavior and Backward Compatibility . . . . . . . 15
8.2. Composite Flow Specifications . . . . . . . . . . . . . . 15 8.2. Composite Flow Specifications . . . . . . . . . . . . . . 15
8.3. Modifying Flow Specifications . . . . . . . . . . . . . . 15 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 . . . . . . . . . 16
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 . . . . . . . . . . . . . . . . . . . . . . . . 17 9. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 18
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 20 10.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 21
10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 20 10.1.1. PCEP FLOWSPEC Object Flag Field . . . . . . . . . . 21
10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 21 10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 21
10.3. Flow Specification TLV Type Indicators . . . . . . . . . 21 10.3. Flow Specification TLV Type Indicators . . . . . . . . . 22
10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 22 10.4. PCEP Error Codes . . . . . . . . . . . . . . . . . . . . 22
10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 23 10.5. PCE Capability Flag . . . . . . . . . . . . . . . . . . 23
11. Implementation Status . . . . . . . . . . . . . . . . . . . . 23 11. Implementation Status . . . . . . . . . . . . . . . . . . . . 23
12. Security Considerations . . . . . . . . . . . . . . . . . . . 23 12. Security Considerations . . . . . . . . . . . . . . . . . . . 24
13. Manageability Considerations . . . . . . . . . . . . . . . . 24 13. Manageability Considerations . . . . . . . . . . . . . . . . 24
13.1. Management of Multiple Flow Specifications . . . . . . . 24 13.1. Management of Multiple Flow Specifications . . . . . . . 25
13.2. Control of Function through Configuration and Policy . . 25 13.2. Control of Function through Configuration and Policy . . 25
13.3. Information and Data Models . . . . . . . . . . . . . . 26 13.3. Information and Data Models . . . . . . . . . . . . . . 26
13.4. Liveness Detection and Monitoring . . . . . . . . . . . 26 13.4. Liveness Detection and Monitoring . . . . . . . . . . . 26
13.5. Verifying Correct Operation . . . . . . . . . . . . . . 26 13.5. Verifying Correct Operation . . . . . . . . . . . . . . 26
13.6. Requirements on Other Protocols and Functional 13.6. Requirements on Other Protocols and Functional
Components . . . . . . . . . . . . . . . . . . . . . . . 26 Components . . . . . . . . . . . . . . . . . . . . . . . 26
13.7. Impact on Network Operation . . . . . . . . . . . . . . 26 13.7. Impact on Network Operation . . . . . . . . . . . . . . 27
13.8. Other Considerations . . . . . . . . . . . . . . . . . . 27 13.8. Other Considerations . . . . . . . . . . . . . . . . . . 27
14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
15.1. Normative References . . . . . . . . . . . . . . . . . . 27 15.1. Normative References . . . . . . . . . . . . . . . . . . 27
15.2. Informative References . . . . . . . . . . . . . . . . . 28 15.2. Informative References . . . . . . . . . . . . . . . . . 28
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 30 Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32
1. Introduction 1. Introduction
skipping to change at page 11, line 11 skipping to change at page 11, line 11
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: 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 idenfify 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), error-value 2 (Malformed
FlowSpec). FlowSpec).
skipping to change at page 14, line 38 skipping to change at page 14, line 38
| Reserved |S|G| Src Mask Len | Grp Mask Len | | Reserved |S|G| Src Mask Len | Grp Mask Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Source Address ~ ~ Source Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Group multicast Address ~ ~ Group multicast Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Multicast Flow Specification TLV Encoding Figure 6: Multicast Flow Specification TLV Encoding
The address fields and address mask lengths of the two Multicast Flow The address fields and address mask lengths of the two Multicast Flow
Specification TLVs are as described in Section 4.9.1 of [RFC7761] Specification TLVs contain source and group prefixes for matching
noting that the two address fields are 32 bits for the IPv4 Multicast against packet flows noting that the two address fields are 32 bits
Flow and 128 bits for the IPv6 Multicast Flow. The Reserved field for the IPv4 Multicast Flow and 128 bits for the IPv6 Multicast Flow.
MUST be set to zero and ignored on receipt.
The Reserved field MUST be set to zero and ignored on receipt.
Two flags (S and G) are defined. They have the common meanings for Two flags (S and G) are defined. They have the common meanings for
wildcarding in multicast. If the S bit is set, then source wildcarding in multicast. If the S bit is set, then source
wildcarding is in use and the values in the Source Mask Length and wildcarding is in use and the values in the Source Mask Length and
Source Address fields MUST be ignored. If the G bit is set, then Source Address fields MUST be ignored. If the G bit is set, then
group wildcarding is in use and the values in the Group Mask Length group wildcarding is in use and the values in the Group Mask Length
and Group multicast Address fields MUST be ignored. The G bit MUST and Group multicast Address fields MUST be ignored. The G bit MUST
NOT be set unless the S bit is also set: if a Multicast Flow NOT be set unless the S bit is also set: if a Multicast Flow
Specification TLV is received with S bit = 0 and G bit = 1 the Specification TLV is received with S bit = 0 and G bit = 1 the
receiver SHOULD respond with a PCErr with Error-type TBD8 (FlowSpec receiver SHOULD respond with a PCErr with Error-type TBD8 (FlowSpec
skipping to change at page 17, line 27 skipping to change at page 17, line 30
the fields of data packets, but using the other mechanisms that it the fields of data packets, but using the other mechanisms that it
already uses to identify VPN traffic. This could be based on the already uses to identify VPN traffic. This could be based on the
incoming port (for port-based VPNs) or may leverage knowledge of the incoming port (for port-based VPNs) or may leverage knowledge of the
VRF that is in use for the traffic. VRF that is in use for the traffic.
8.7. Priorities and Overlapping Flow Specifications 8.7. Priorities and Overlapping Flow Specifications
Flow specifications can overlap. For example, two different flow Flow specifications can overlap. For example, two different flow
specifications may be identical except for the length of the prefix specifications may be identical except for the length of the prefix
in the destination address. In these cases the PCC must determine in the destination address. In these cases the PCC must determine
how to prioritise the flow specifications so as to know to which path how to prioritize the flow specifications so as to know to which path
to assign packets that match both flow specifications. That is, the to assign packets that match both flow specifications. That is, the
PCC must assign a precedence to the flow specifications so that it PCC must assign a precedence to the flow specifications so that it
checks each incoming packet for a match in a predictable order. checks each incoming packet for a match in a predictable order.
The processing of BGP Flow Specifications is described in [RFC5575]. The processing of BGP Flow Specifications is described in [RFC5575].
Section 5.1 of that document explains the order of traffic filtering Section 5.1 of that document explains the order of traffic filtering
rules to be executed by an implementation of that specification. rules to be executed by an implementation of that specification.
PCCs MUST apply the same ordering rules as defined in [RFC5575]. PCCs MUST apply the same ordering rules as defined in [RFC5575].
Section 13.1 of this document covers manageability considerations Section 13.1 of this document covers manageability considerations
relevant to the prioritised 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
The figures in this section use the notation defined in [RFC5511]. The figures in this section use the notation defined in [RFC5511].
skipping to change at page 27, line 13 skipping to change at page 27, line 22
configuration mechanism. Thus, the significant change is the configuration mechanism. Thus, the significant change is the
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, and Jayant Thanks to Julian Lucek, Sudhir Cheruathur, Olivier Dugeon, Jayant
Agarwal for useful discussions. Agarwal, and Jeffrey Zhang 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]
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.
skipping to change at page 29, line 36 skipping to change at page 29, line 45
BGP, LDP, PCEP, and MSDP Issues According to the Keying BGP, LDP, PCEP, and MSDP Issues According to the Keying
and Authentication for Routing Protocols (KARP) Design and Authentication for Routing Protocols (KARP) Design
Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013, Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
<https://www.rfc-editor.org/info/rfc6952>. <https://www.rfc-editor.org/info/rfc6952>.
[RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path [RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path
Computation Element Architecture", RFC 7399, Computation Element Architecture", RFC 7399,
DOI 10.17487/RFC7399, October 2014, DOI 10.17487/RFC7399, October 2014,
<https://www.rfc-editor.org/info/rfc7399>. <https://www.rfc-editor.org/info/rfc7399>.
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
Multicast - Sparse Mode (PIM-SM): Protocol Specification
(Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
2016, <https://www.rfc-editor.org/info/rfc7761>.
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205, Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016, RFC 7942, DOI 10.17487/RFC7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>. <https://www.rfc-editor.org/info/rfc7942>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
 End of changes. 16 change blocks. 
28 lines changed or deleted 23 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/