draft-ietf-idr-bgp-ls-flex-algo-01.txt   draft-ietf-idr-bgp-ls-flex-algo-02.txt 
Inter-Domain Routing K. Talaulikar Inter-Domain Routing K. Talaulikar
Internet-Draft P. Psenak Internet-Draft P. Psenak
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: January 9, 2020 S. Zandi Expires: July 9, 2020 S. Zandi
G. Dawra G. Dawra
LinkedIn LinkedIn
July 8, 2019 January 6, 2020
Flexible Algorithm Definition Advertisement with BGP Link-State Flexible Algorithm Definition Advertisement with BGP Link-State
draft-ietf-idr-bgp-ls-flex-algo-01 draft-ietf-idr-bgp-ls-flex-algo-02
Abstract Abstract
Flexible Algorithm is a solution that allows routing protocols (viz. Flexible Algorithm is a solution that allows routing protocols (viz.
OSPF and IS-IS) to compute paths over a network based on user-defined OSPF and IS-IS) to compute paths over a network based on user-defined
(and hence, flexible) constraints and metrics. The computation is (and hence, flexible) constraints and metrics. The computation is
performed by routers participating in the specific network in a performed by routers participating in the specific network in a
distribute manner using a Flex Algorithm definition. This definition distribute manner using a Flex Algorithm definition. This definition
provisioned on one or more routers and propagated (viz. OSPF and IS- provisioned on one or more routers and propagated (viz. OSPF and IS-
IS flooding) through the network. IS flooding) through the network.
BGP Link-State (BGP-LS) enables the collection of various topology BGP Link-State (BGP-LS) enables the collection of various topology
information from the network. This draft defines extensions to BGP- information from the network. This draft defines extensions to BGP-
LS address-family to advertise the Flexible Algorithm Definition as a LS address-family to advertise the Flexible Algorithm Definition as a
part of the topology information from the network. part of the topology information from the network.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). 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 9, 2020. This Internet-Draft will expire on July 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. BGP-LS Extensions for Flex Algo . . . . . . . . . . . . . . . 4 2. BGP-LS Extensions for Flex Algo . . . . . . . . . . . . . . . 4
3. Flexible Algorithm Definition . . . . . . . . . . . . . . . . 4 3. Flexible Algorithm Definition . . . . . . . . . . . . . . . . 4
3.1. Flex Algo Exclude Any Affinity . . . . . . . . . . . . . 6 3.1. Flex Algo Exclude Any Affinity . . . . . . . . . . . . . 6
3.2. Flex Algo Include Any Affinity . . . . . . . . . . . . . 6 3.2. Flex Algo Include Any Affinity . . . . . . . . . . . . . 6
3.3. Flex Algo Include All Affinity . . . . . . . . . . . . . 7 3.3. Flex Algo Include All Affinity . . . . . . . . . . . . . 7
3.4. Flex Algo Definition Flags . . . . . . . . . . . . . . . 8 3.4. Flex Algo Definition Flags . . . . . . . . . . . . . . . 8
4. Flex Algorithm Prefix Metric . . . . . . . . . . . . . . . . 9 4. Flex Algorithm Prefix Metric . . . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. Manageability Considerations . . . . . . . . . . . . . . . . 10 6. Manageability Considerations . . . . . . . . . . . . . . . . 10
6.1. Operational Considerations . . . . . . . . . . . . . . . 10 6.1. Operational Considerations . . . . . . . . . . . . . . . 10
6.2. Management Considerations . . . . . . . . . . . . . . . . 10 6.2. Management Considerations . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References . . . . . . . . . . . . . . . . . . 11 9.1. Normative References . . . . . . . . . . . . . . . . . . 11
9.2. Informative References . . . . . . . . . . . . . . . . . 12 9.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
IGP protocols (OSPF and IS-IS) traditionally compute best paths over IGP protocols (OSPF and IS-IS) traditionally compute best paths over
skipping to change at page 3, line 34 skipping to change at page 3, line 30
algorithm on one or more of these nodes. The nodes where the algorithm on one or more of these nodes. The nodes where the
flexible algorithm definition (FAD) is advertised then flood these flexible algorithm definition (FAD) is advertised then flood these
definitions via respective IGP (IS-IS and OSPFv2/v3) mechanisms to definitions via respective IGP (IS-IS and OSPFv2/v3) mechanisms to
all other nodes in the network. The nodes select the definition for all other nodes in the network. The nodes select the definition for
each algorithm based on the flooded information in a deterministic each algorithm based on the flooded information in a deterministic
manner and thus all nodes participating in a flexible algorithm manner and thus all nodes participating in a flexible algorithm
computation arrive at a common understanding of the type of computation arrive at a common understanding of the type of
calculation that they need to use. calculation that they need to use.
When using Segment Routing (SR) [RFC8402] MPLS forwarding plane When using Segment Routing (SR) [RFC8402] MPLS forwarding plane
[I-D.ietf-spring-segment-routing-mpls], the result of a flex [RFC8660], the result of a flex algorithm computation is the
algorithm computation is the provisioning of the Prefix SIDs provisioning of the Prefix SIDs associated with that algorithm with
associated with that algorithm with paths based on the topology paths based on the topology computed based on that algorithm. When
computed based on that algorithm. When using SR forwarding plane on using SR forwarding plane on IPv6 (SRv6)
IPv6 (SRv6) [I-D.ietf-spring-srv6-network-programming], the result of [I-D.ietf-spring-srv6-network-programming], the result of a flex
a flex algorithm computation is the provisioning of the SRv6 Locators algorithm computation is the provisioning of the SRv6 Locators
associated with that algorithm with paths based on the topology associated with that algorithm with paths based on the topology
computed based on that algorithm. This flex algorithm computation is computed based on that algorithm. This flex algorithm computation is
within an IGP area or level similar to the default shortest path tree within an IGP area or level similar to the default shortest path tree
(SPT) algorithm. (SPT) algorithm.
A flex algorithm specific metric MAY be advertised along with the A flex algorithm specific metric MAY be advertised along with the
prefix as described in [I-D.ietf-lsr-flex-algo] to enable end-to-end prefix as described in [I-D.ietf-lsr-flex-algo] to enable end-to-end
optimal path computation for prefixes across multiple areas/domains optimal path computation for prefixes across multiple areas/domains
in the flex algorithm computation for the SR-MPLS forwarding plane. in the flex algorithm computation for the SR-MPLS forwarding plane.
skipping to change at page 4, line 36 skipping to change at page 4, line 29
information can then be leveraged by it for setting up SR Policy information can then be leveraged by it for setting up SR Policy
paths end to end across domains by leveraging the appropriate Flex paths end to end across domains by leveraging the appropriate Flex
Algorithm specific SIDs in the in its Segment List Algorithm specific SIDs in the in its Segment List
[I-D.ietf-spring-segment-routing-policy]. e.g. picking the Flex [I-D.ietf-spring-segment-routing-policy]. e.g. picking the Flex
Algorithm Prefix SID (in case of SR-MPLS) or End SID (in case of Algorithm Prefix SID (in case of SR-MPLS) or End SID (in case of
SRv6) of ABRs/ASBRs corresponding to a definition that optimizes on SRv6) of ABRs/ASBRs corresponding to a definition that optimizes on
the delay metric enables the PCE/controller to build an end to end the delay metric enables the PCE/controller to build an end to end
low latency path across IGP domains with minimal SIDs in the SID low latency path across IGP domains with minimal SIDs in the SID
list. list.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. BGP-LS Extensions for Flex Algo 2. BGP-LS Extensions for Flex Algo
The BGP-LS [RFC7752] specifies the Node NLRI for advertisement of The BGP-LS [RFC7752] specifies the Node NLRI for advertisement of
nodes along with their attributes using the BGP-LS Attribute and the nodes along with their attributes using the BGP-LS Attribute and the
Prefix NLRI for advertisement of prefixes along with their attributes Prefix NLRI for advertisement of prefixes along with their attributes
using the BGP-LS Attribute. The Flexible Algorithm Definition (FAD) using the BGP-LS Attribute. The Flexible Algorithm Definition (FAD)
advertised by a node are considered as its node level attributes and advertised by a node are considered as its node level attributes and
advertised as such. The Flexible Algorithm Prefix Metric (FAPM) are advertised as such. The Flexible Algorithm Prefix Metric (FAPM) are
considered as prefix attributes and advertised as such. considered as prefix attributes and advertised as such.
skipping to change at page 5, line 19 skipping to change at page 5, line 19
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Flex-Algorithm | Metric-Type | Calc-Type | Priority | |Flex-Algorithm | Metric-Type | Calc-Type | Priority |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sub-TLVs ... // | sub-TLVs ... //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Flex Algorithm Definition TLV Figure 1: Flex Algorithm Definition TLV
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1039
o Length: variable. Minimum of 4 octets. o Length: variable. Minimum of 4 octets.
o Flex-Algorithm : 1 octet value in the range between 128 and 255 o Flex-Algorithm : 1 octet value in the range between 128 and 255
inclusive which is the range defined for Flexible Algorithms in inclusive which is the range defined for Flexible Algorithms in
the IANA "IGP Parameters" registries under the "IGP Algorithm the IANA "IGP Parameters" registries under the "IGP Algorithm
Types" registry [I-D.ietf-lsr-flex-algo]. Types" registry [I-D.ietf-lsr-flex-algo].
o Metric-Type : 1 octet value indicating the type of the metric used o Metric-Type : 1 octet value indicating the type of the metric used
in the computation. Values allowed come from the IANA "IGP in the computation. Values allowed come from the IANA "IGP
skipping to change at page 6, line 36 skipping to change at page 6, line 36
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exclude-Any EAG (variable) // | Exclude-Any EAG (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1040
o Length: variable, dependent on the size of the Extended Admin o Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets. Group. MUST be a multiple of 4 octets.
o Exclude-Any EAG : the bitmask used to represent the affinities to o Exclude-Any EAG : the bitmask used to represent the affinities to
be excluded. be excluded.
The information in the Flex Algo Exclude Any Affinity sub-TLV is The information in the Flex Algo Exclude Any Affinity sub-TLV is
derived from the IS-IS and OSPF protocol specific Flexible Algorithm derived from the IS-IS and OSPF protocol specific Flexible Algorithm
Exclude Admin Group sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. Exclude Admin Group sub-TLV as defined in [I-D.ietf-lsr-flex-algo].
skipping to change at page 7, line 21 skipping to change at page 7, line 21
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-Any EAG (variable) // | Include-Any EAG (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1041
o Length: variable, dependent on the size of the Extended Admin o Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets. Group. MUST be a multiple of 4 octets.
o Include-Any EAG : the bitmask used to represent the affinities to o Include-Any EAG : the bitmask used to represent the affinities to
be included. be included.
The information in the Flex Algo Include Any Affinity sub-TLV is The information in the Flex Algo Include Any Affinity sub-TLV is
derived from the IS-IS and OSPF protocol specific Flexible Algorithm derived from the IS-IS and OSPF protocol specific Flexible Algorithm
Include-Any Admin Group sub-TLV as defined in Include-Any Admin Group sub-TLV as defined in
skipping to change at page 8, line 15 skipping to change at page 8, line 15
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-All EAG (variable) // | Include-All EAG (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1042
o Length: variable, dependent on the size of the Extended Admin o Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets. Group. MUST be a multiple of 4 octets.
o Include-All EAG : the bitmask used to represent the affinities to o Include-All EAG : the bitmask used to represent the affinities to
be included. be included.
The information in the Flex Algo Include All Affinity sub-TLV is The information in the Flex Algo Include All Affinity sub-TLV is
derived from the IS-IS and OSPF protocol specific Flexible Algorithm derived from the IS-IS and OSPF protocol specific Flexible Algorithm
Include-All Admin Group sub-TLV as defined in Include-All Admin Group sub-TLV as defined in
skipping to change at page 8, line 47 skipping to change at page 8, line 47
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags (variable) // | Flags (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1043
o Length: variable. MUST be a multiple of 4 octets. o Length: variable. MUST be a multiple of 4 octets.
o Flags : the bitmask used to represent the flags for the flex o Flags : the bitmask used to represent the flags for the flex
algorithm definition as introduced by [I-D.ietf-lsr-flex-algo] and algorithm definition as introduced by [I-D.ietf-lsr-flex-algo] and
listed in the "Flex-Algorithm Definition Flags" registry under the listed in the "Flex-Algorithm Definition Flags" registry under the
"Interior Gateway Protocol (IGP) Parameters" IANA registry. "Interior Gateway Protocol (IGP) Parameters" IANA registry.
The information in the Flex Algo Definition Flags sub-TLV is derived The information in the Flex Algo Definition Flags sub-TLV is derived
from the IS-IS and OSPF protocol specific Flexible Algorithm from the IS-IS and OSPF protocol specific Flexible Algorithm
skipping to change at page 9, line 29 skipping to change at page 9, line 29
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Flex-Algorithm | Reserved | |Flex-Algorithm | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metric | | Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD (see IANA Considerations Section 5) o Type: 1044
o Length: 8 octets. o Length: 8 octets.
o Flex-Algorithm : 1 octet value in the range between 128 and 255 o Flex-Algorithm : 1 octet value in the range between 128 and 255
inclusive which is the range defined for Flexible Algorithms in inclusive which is the range defined for Flexible Algorithms in
the IANA "IGP Parameters" registries under the "IGP Algorithm the IANA "IGP Parameters" registries under the "IGP Algorithm
Types" registry [I-D.ietf-lsr-flex-algo]. Types" registry [I-D.ietf-lsr-flex-algo].
o Reserved : 3 octet value that SHOULD be set to 0 by the originator o Reserved : 3 octet value that SHOULD be set to 0 by the originator
and MUST be ignored by the receiver. and MUST be ignored by the receiver.
skipping to change at page 10, line 16 skipping to change at page 10, line 16
Metric sub-TLV in [I-D.ietf-lsr-flex-algo]. Metric sub-TLV in [I-D.ietf-lsr-flex-algo].
The BGP-LS Attribute associated with a Prefix NLRI MAY include one or The BGP-LS Attribute associated with a Prefix NLRI MAY include one or
more FAPM TLVs corresponding to the Flexibile Algorithm Prefix Metric more FAPM TLVs corresponding to the Flexibile Algorithm Prefix Metric
for each algorithm associated with that the particular prefix. for each algorithm associated with that the particular prefix.
5. IANA Considerations 5. IANA Considerations
This document requests assigning code-points from the registry "BGP- This document requests assigning code-points from the registry "BGP-
LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute
TLVs" based on table below. The column "IS-IS TLV/Sub-TLV" defined TLVs" based on table below which reflects the values assigned via the
in the registry does not require any value and should be left empty. early allocation process. The column "IS-IS TLV/Sub-TLV" defined in
the registry does not require any value and should be left empty.
+------------+----------------------------------------+----------+ +------------+----------------------------------------+----------+
| Code Point | Description | Length | | Code Point | Description | Length |
+------------+----------------------------------------+----------+ +------------+----------------------------------------+----------+
| TBD | Flex Algorithm Definition TLV | variable | | 1039 | Flex Algorithm Definition TLV | variable |
| TBD | Flex Algo Exclude Any Affinity sub-TLV | variable | | 1040 | Flex Algo Exclude Any Affinity sub-TLV | variable |
| TBD | Flex Algo Include Any Affinity sub-TLV | variable | | 1041 | Flex Algo Include Any Affinity sub-TLV | variable |
| TBD | Flex Algo Include All Affinity sub-TLV | variable | | 1042 | Flex Algo Include All Affinity sub-TLV | variable |
| TBD | Flex Algo Definition Flags sub-TLV | variable | | 1043 | Flex Algo Definition Flags sub-TLV | variable |
| TBD | Flex Algorithm Prefix Metric TLV | variable | | 1044 | Flex Algorithm Prefix Metric TLV | variable |
+------------+----------------------------------------+----------+ +------------+----------------------------------------+----------+
6. Manageability Considerations 6. Manageability Considerations
This section is structured as recommended in [RFC5706]. This section is structured as recommended in [RFC5706].
The new protocol extensions introduced in this document augment the The new protocol extensions introduced in this document augment the
existing IGP topology information that was distributed via [RFC7752]. existing IGP topology information that was distributed via [RFC7752].
Procedures and protocol extensions defined in this document do not Procedures and protocol extensions defined in this document do not
affect the BGP protocol operations and management other than as affect the BGP protocol operations and management other than as
skipping to change at page 11, line 25 skipping to change at page 11, line 29
The authors would like to thank Les Ginsberg for his reviews and The authors would like to thank Les Ginsberg for his reviews and
contributions to this work. contributions to this work.
9. References 9. References
9.1. Normative References 9.1. Normative References
[I-D.ietf-lsr-flex-algo] [I-D.ietf-lsr-flex-algo]
Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and
A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex-
algo-03 (work in progress), July 2019. algo-05 (work in progress), November 2019.
[I-D.ietf-spring-segment-routing-mpls]
Bashandy, A., Filsfils, C., Previdi, S., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing with MPLS
data plane", draft-ietf-spring-segment-routing-mpls-22
(work in progress), May 2019.
[I-D.ietf-spring-srv6-network-programming] [I-D.ietf-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 Matsushima, S., and Z. Li, "SRv6 Network Programming",
Network Programming", draft-ietf-spring-srv6-network- draft-ietf-spring-srv6-network-programming-07 (work in
programming-01 (work in progress), July 2019. progress), December 2019.
[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>.
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
S. Ray, "North-Bound Distribution of Link-State and S. Ray, "North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP", RFC 7752, Traffic Engineering (TE) Information Using BGP", RFC 7752,
DOI 10.17487/RFC7752, March 2016, DOI 10.17487/RFC7752, March 2016,
<https://www.rfc-editor.org/info/rfc7752>. <https://www.rfc-editor.org/info/rfc7752>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing with the MPLS Data Plane", RFC 8660,
DOI 10.17487/RFC8660, December 2019,
<https://www.rfc-editor.org/info/rfc8660>.
9.2. Informative References 9.2. Informative References
[I-D.ietf-idr-bgp-ls-segment-routing-ext] [I-D.ietf-idr-bgp-ls-segment-routing-ext]
Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H.,
and M. Chen, "BGP Link-State extensions for Segment and M. Chen, "BGP Link-State extensions for Segment
Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16
(work in progress), June 2019. (work in progress), June 2019.
[I-D.ietf-idr-bgpls-srv6-ext] [I-D.ietf-idr-bgpls-srv6-ext]
Dawra, G., Filsfils, C., Talaulikar, K., Chen, M., Dawra, G., Filsfils, C., Talaulikar, K., Chen, M.,
daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link
State Extensions for SRv6", draft-ietf-idr-bgpls- State Extensions for SRv6", draft-ietf-idr-bgpls-
srv6-ext-01 (work in progress), July 2019. srv6-ext-01 (work in progress), July 2019.
[I-D.ietf-spring-segment-routing-policy] [I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d., Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and
bogdanov@google.com, b., and P. Mattes, "Segment Routing P. Mattes, "Segment Routing Policy Architecture", draft-
Policy Architecture", draft-ietf-spring-segment-routing- ietf-spring-segment-routing-policy-06 (work in progress),
policy-03 (work in progress), May 2019. December 2019.
[RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J.
McManus, "Requirements for Traffic Engineering Over MPLS", McManus, "Requirements for Traffic Engineering Over MPLS",
RFC 2702, DOI 10.17487/RFC2702, September 1999, RFC 2702, DOI 10.17487/RFC2702, September 1999,
<https://www.rfc-editor.org/info/rfc2702>. <https://www.rfc-editor.org/info/rfc2702>.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<https://www.rfc-editor.org/info/rfc3209>. <https://www.rfc-editor.org/info/rfc3209>.
 End of changes. 22 change blocks. 
49 lines changed or deleted 51 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/