draft-ietf-idr-bgp-ls-flex-algo-04.txt   draft-ietf-idr-bgp-ls-flex-algo-05.txt 
Inter-Domain Routing K. Talaulikar, Ed. Inter-Domain Routing K. Talaulikar, Ed.
Internet-Draft P. Psenak Internet-Draft P. Psenak
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: January 6, 2021 S. Zandi Expires: May 17, 2021 S. Zandi
G. Dawra G. Dawra
LinkedIn LinkedIn
July 5, 2020 November 13, 2020
Flexible Algorithm Definition Advertisement with BGP Link-State Flexible Algorithm Definition Advertisement with BGP Link-State
draft-ietf-idr-bgp-ls-flex-algo-04 draft-ietf-idr-bgp-ls-flex-algo-05
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.
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 6, 2021. This Internet-Draft will expire on May 17, 2021.
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 6, line 25 skipping to change at page 6, line 25
TLV as described below. This information is derived from the TLV as described below. This information is derived from the
protocol specific advertisements as below.. protocol specific advertisements as below..
o IS-IS, as defined by the ISIS Flexible Algorithm Definition sub- o IS-IS, as defined by the ISIS Flexible Algorithm Definition sub-
TLV in [I-D.ietf-lsr-flex-algo]. TLV in [I-D.ietf-lsr-flex-algo].
o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm
Definition TLV in [I-D.ietf-lsr-flex-algo]. Definition TLV in [I-D.ietf-lsr-flex-algo].
The BGP-LS Attribute associated with a Node NLRI MAY include one or The BGP-LS Attribute associated with a Node NLRI MAY include one or
more FAD TLVs corresponding to the Flexibile Algorithm Definition for more FAD TLVs corresponding to the Flexible Algorithm Definition for
each algorithm that the particular node is advertising. each algorithm that the particular node is advertising.
The following sub-sections define the sub-TLVs for the FAD TLV. The following sub-sections define the sub-TLVs for the FAD TLV.
3.1. Flex Algo Exclude Any Affinity 3.1. Flex Algo Exclude Any Affinity
The Flex Algo Exclude Any Affinity sub-TLV is an optional sub-TLV The Flex Algo Exclude Any Affinity sub-TLV is an optional sub-TLV
that is used to carry the affinity constraints [RFC2702] associated that is used to carry the affinity constraints [RFC2702] associated
with the flex algo definition and enable the exclusion of links with the flex algo definition and enable the exclusion of links
carrying any of the specified affinities from the computation of the carrying any of the specified affinities from the computation of the
skipping to change at page 7, line 19 skipping to change at page 7, line 19
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].
3.2. Flex Algo Include Any Affinity 3.2. Flex Algo Include Any Affinity
The Flex Algo Incude Any Affinity sub-TLV is an optional sub-TLV that The Flex Algo Include Any Affinity sub-TLV is an optional sub-TLV
is used to carry the affinity constraints [RFC2702] associated with that is used to carry the affinity constraints [RFC2702] associated
the flex algo definition and enable the inclusion of links carrying with the flex algo definition and enable the inclusion of links
any of the specified affinities in the computation of the specific carrying any of the specified affinities in the computation of the
algorithm as described in [I-D.ietf-lsr-flex-algo]. The affinity is specific algorithm as described in [I-D.ietf-lsr-flex-algo]. The
expressed in terms of Extended Admin Group (EAG) as defined in affinity is expressed in terms of Extended Admin Group (EAG) as
[RFC7308]. defined in [RFC7308].
The TLV has the following format: The TLV has the following format:
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) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 8, line 7 skipping to change at page 8, line 7
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
[I-D.ietf-lsr-flex-algo]. [I-D.ietf-lsr-flex-algo].
3.3. Flex Algo Include All Affinity 3.3. Flex Algo Include All Affinity
The Flex Algo Incude All Affinity sub-TLV is an optional sub-TLV that The Flex Algo Include All Affinity sub-TLV is an optional sub-TLV
is used to carry the affinity constraints [RFC2702] associated with that is used to carry the affinity constraints [RFC2702] associated
the flex algo definition and enable the inclusion of links carrying with the flex algo definition and enable the inclusion of links
all of the specified affinities in the computation of the specific carrying all of the specified affinities in the computation of the
algorithm as described in [I-D.ietf-lsr-flex-algo]. The affinity is specific algorithm as described in [I-D.ietf-lsr-flex-algo]. The
expressed in terms of Extended Admin Group (EAG) as defined in affinity is expressed in terms of Extended Admin Group (EAG) as
[RFC7308]. defined in [RFC7308].
The TLV has the following format: The TLV has the following format:
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) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 10, line 4 skipping to change at page 10, line 4
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Shared Risk Link Group Values (variable) // | Shared Risk Link Group Values (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
o Type: TBD o Type: TBD
o Length: variable, depedent on the number of SRLG values. MUST be o Length: variable, dependent on the number of SRLG values. MUST be
a multiple of 4 octets. a multiple of 4 octets.
o SRLG Values : One or more SRLG values, each of 4 octet size, as o SRLG Values : One or more SRLG values, each of 4 octet size, as
defined in [RFC4202]. defined in [RFC4202].
The information in the Flex Algo SRLG Exclude sub-TLV is derived from The information in the Flex Algo SRLG Exclude sub-TLV is derived from
the IS-IS and OSPF protocol specific Flexible Algorithm Exclude SRLG the IS-IS and OSPF protocol specific Flexible Algorithm Exclude SRLG
sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. sub-TLV as defined in [I-D.ietf-lsr-flex-algo].
4. Flex Algorithm Prefix Metric 4. Flex Algorithm Prefix Metric
skipping to change at page 10, line 47 skipping to change at page 10, line 47
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.
o Metric : 4 octets field to carry the metric information. o Metric : 4 octets field to carry the metric information.
The FAPM TLV can be added to the BGP-LS Attribute of the Prefix NLRI The FAPM TLV can be added to the BGP-LS Attribute of the Prefix NLRI
orginated by a node, only if the corresponding node originates the originated by a node, only if the corresponding node originates the
Prefix in along with the underlying IGP TLV/sub-TLV as described Prefix in along with the underlying IGP TLV/sub-TLV as described
below. This information is derived from the protocol specific below. This information is derived from the protocol specific
advertisements as below. advertisements as below.
o IS-IS, as defined by the ISIS Flexible Algorithm Prefix Metric o IS-IS, as defined by the ISIS Flexible Algorithm Prefix Metric
sub-TLV in [I-D.ietf-lsr-flex-algo]. sub-TLV in [I-D.ietf-lsr-flex-algo].
o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm Prefix o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm Prefix
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 Flexible 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 which reflects the values assigned via the TLVs" based on table below which reflects the values assigned via the
early allocation process. The column "IS-IS TLV/Sub-TLV" defined in early allocation process. The column "IS-IS TLV/Sub-TLV" defined in
the registry does not require any value and should be left empty. the registry does not require any value and should be left empty.
skipping to change at page 12, line 31 skipping to change at page 12, line 31
8. Acknowledgements 8. Acknowledgements
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-idr-bgp-ls-app-specific-attr] [I-D.ietf-idr-bgp-ls-app-specific-attr]
Talaulikar, K., Psenak, P., and J. Tantsura, "Application Talaulikar, K., Psenak, P., and J. Tantsura, "Application-
Specific Attributes Advertisement with BGP Link-State", Specific Attributes Advertisement with BGP Link-State",
draft-ietf-idr-bgp-ls-app-specific-attr-02 (work in draft-ietf-idr-bgp-ls-app-specific-attr-03 (work in
progress), May 2020. progress), July 2020.
[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-02 (work in progress), January 2020. srv6-ext-04 (work in progress), November 2020.
[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-07 (work in progress), April 2020. algo-13 (work in progress), October 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>.
[RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions
in Support of Generalized Multi-Protocol Label Switching in Support of Generalized Multi-Protocol Label Switching
(GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005,
<https://www.rfc-editor.org/info/rfc4202>. <https://www.rfc-editor.org/info/rfc4202>.
skipping to change at page 13, line 33 skipping to change at page 13, line 33
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>.
9.2. Informative References 9.2. Informative References
[I-D.ietf-spring-segment-routing-policy] [I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
P. Mattes, "Segment Routing Policy Architecture", draft- P. Mattes, "Segment Routing Policy Architecture", draft-
ietf-spring-segment-routing-policy-07 (work in progress), ietf-spring-segment-routing-policy-09 (work in progress),
May 2020. November 2020.
[I-D.ietf-spring-srv6-network-programming] [I-D.ietf-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
Matsushima, S., and Z. Li, "SRv6 Network Programming", Matsushima, S., and Z. Li, "SRv6 Network Programming",
draft-ietf-spring-srv6-network-programming-16 (work in draft-ietf-spring-srv6-network-programming-24 (work in
progress), June 2020. progress), October 2020.
[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. 17 change blocks. 
32 lines changed or deleted 32 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/