draft-ietf-idr-bgp-ls-sr-policy-06.txt   draft-ietf-idr-bgp-ls-sr-policy-07.txt 
Inter-Domain Routing S. Previdi Inter-Domain Routing S. Previdi
Internet-Draft Individual Internet-Draft Individual
Intended status: Standards Track K. Talaulikar, Ed. Intended status: Standards Track K. Talaulikar, Ed.
Expires: 22 April 2025 Cisco Systems Expires: 27 April 2025 Cisco Systems
J. Dong J. Dong
Huawei Technologies Huawei Technologies
H. Gredler H. Gredler
RtBrick Inc. RtBrick Inc.
J. Tantsura J. Tantsura
Nvidia Nvidia
19 October 2024 24 October 2024
Advertisement of Segment Routing Policies using BGP Link-State Advertisement of Segment Routing Policies using BGP Link-State
draft-ietf-idr-bgp-ls-sr-policy-06 draft-ietf-idr-bgp-ls-sr-policy-07
Abstract Abstract
This document describes a mechanism to collect the Segment Routing This document describes a mechanism to collect the Segment Routing
Policy information that is locally available in a node and advertise Policy information that is locally available in a node and advertise
it into BGP Link-State (BGP-LS) updates. Such information can be it into BGP Link-State (BGP-LS) updates. Such information can be
used by external components for path computation, re-optimization, used by external components for path computation, re-optimization,
service placement, network visualization, etc. service placement, network visualization, etc.
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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 22 April 2025. This Internet-Draft will expire on 27 April 2025.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2024 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 26 skipping to change at page 2, line 26
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. Carrying SR Policy Information in BGP . . . . . . . . . . . . 5 2. Carrying SR Policy Information in BGP . . . . . . . . . . . . 5
3. SR Policy Candidate Path NLRI Type . . . . . . . . . . . . . 6 3. SR Policy Candidate Path NLRI Type . . . . . . . . . . . . . 6
4. SR Policy Candidate Path Descriptor . . . . . . . . . . . . . 7 4. SR Policy Candidate Path Descriptor . . . . . . . . . . . . . 7
5. SR Policy State TLVs . . . . . . . . . . . . . . . . . . . . 9 5. SR Policy State TLVs . . . . . . . . . . . . . . . . . . . . 9
5.1. SR Binding SID TLV . . . . . . . . . . . . . . . . . . . 9 5.1. SR Binding SID TLV . . . . . . . . . . . . . . . . . . . 9
5.2. SRv6 Binding SID TLV . . . . . . . . . . . . . . . . . . 11 5.2. SRv6 Binding SID TLV . . . . . . . . . . . . . . . . . . 11
5.3. SR Candidate Path State TLV . . . . . . . . . . . . . . . 13 5.3. SR Candidate Path State TLV . . . . . . . . . . . . . . . 13
5.4. SR Policy Name TLV . . . . . . . . . . . . . . . . . . . 15 5.4. SR Policy Name TLV . . . . . . . . . . . . . . . . . . . 15
5.5. SR Candidate Path Name TLV . . . . . . . . . . . . . . . 15 5.5. SR Candidate Path Name TLV . . . . . . . . . . . . . . . 16
5.6. SR Candidate Path Constraints TLV . . . . . . . . . . . . 16 5.6. SR Candidate Path Constraints TLV . . . . . . . . . . . . 16
5.6.1. SR Affinity Constraint Sub-TLV . . . . . . . . . . . 18 5.6.1. SR Affinity Constraint Sub-TLV . . . . . . . . . . . 19
5.6.2. SR SRLG Constraint Sub-TLV . . . . . . . . . . . . . 20 5.6.2. SR SRLG Constraint Sub-TLV . . . . . . . . . . . . . 20
5.6.3. SR Bandwidth Constraint Sub-TLV . . . . . . . . . . . 20 5.6.3. SR Bandwidth Constraint Sub-TLV . . . . . . . . . . . 21
5.6.4. SR Disjoint Group Constraint Sub-TLV . . . . . . . . 21 5.6.4. SR Disjoint Group Constraint Sub-TLV . . . . . . . . 21
5.6.5. SR Bidirectional Group Constraint Sub-TLV . . . . . . 23 5.6.5. SR Bidirectional Group Constraint Sub-TLV . . . . . . 24
5.6.6. SR Metric Constraint Sub-TLV . . . . . . . . . . . . 24 5.6.6. SR Metric Constraint Sub-TLV . . . . . . . . . . . . 25
5.7. SR Segment List TLV . . . . . . . . . . . . . . . . . . . 26 5.7. SR Segment List TLV . . . . . . . . . . . . . . . . . . . 27
5.8. SR Segment Sub-TLV . . . . . . . . . . . . . . . . . . . 28 5.8. SR Segment Sub-TLV . . . . . . . . . . . . . . . . . . . 29
5.8.1. Segment Descriptors . . . . . . . . . . . . . . . . . 30 5.8.1. Segment Descriptors . . . . . . . . . . . . . . . . . 31
5.9. SR Segment List Metric Sub-TLV . . . . . . . . . . . . . 37 5.9. SR Segment List Metric Sub-TLV . . . . . . . . . . . . . 38
5.10. SR Segment List Bandwidth Sub-TLV . . . . . . . . . . . . 39 5.10. SR Segment List Bandwidth Sub-TLV . . . . . . . . . . . . 40
5.11. SR Segment List Identifier Sub-TLV . . . . . . . . . . . 40 5.11. SR Segment List Identifier Sub-TLV . . . . . . . . . . . 41
6. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 40 6. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 42
7. Manageability Considerations . . . . . . . . . . . . . . . . 41 7. Manageability Considerations . . . . . . . . . . . . . . . . 42
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42
8.1. BGP-LS NLRI-Types . . . . . . . . . . . . . . . . . . . . 41 8.1. BGP-LS NLRI-Types . . . . . . . . . . . . . . . . . . . . 42
8.2. BGP-LS Protocol-IDs . . . . . . . . . . . . . . . . . . . 42 8.2. BGP-LS Protocol-IDs . . . . . . . . . . . . . . . . . . . 43
8.3. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 42 8.3. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 43
8.4. SR Policy Protocol Origin . . . . . . . . . . . . . . . . 43 8.4. SR Policy Protocol Origin . . . . . . . . . . . . . . . . 44
8.5. BGP-LS SR Segment Descriptors . . . . . . . . . . . . . . 43 8.5. BGP-LS SR Segment Descriptors . . . . . . . . . . . . . . 45
8.6. BGP-LS SR Policy Metric Type . . . . . . . . . . . . . . 44 8.6. BGP-LS SR Policy Metric Type . . . . . . . . . . . . . . 46
9. Security Considerations . . . . . . . . . . . . . . . . . . . 45 9. Security Considerations . . . . . . . . . . . . . . . . . . . 47
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 46 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 48
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 46 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 48
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 46 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 48
12.1. Normative References . . . . . . . . . . . . . . . . . . 46 12.1. Normative References . . . . . . . . . . . . . . . . . . 48
12.2. Informative References . . . . . . . . . . . . . . . . . 47 12.2. Informative References . . . . . . . . . . . . . . . . . 49
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 51
1. Introduction 1. Introduction
SR Policy architecture details are specified in [RFC9256]. An SR SR Policy architecture details are specified in [RFC9256]. An SR
Policy comprises one or more candidate paths (CP) of which at a given Policy comprises one or more candidate paths (CP) of which at a given
time one and only one may be active (i.e., installed in forwarding time one and only one may be active (i.e., installed in forwarding
and usable for steering of traffic). Each CP in turn may have one or and usable for steering of traffic). Each CP in turn may have one or
more SID-List of which one or more SID-List may be active. When more SID-List of which one or more SID-List may be active. When
multiple SID-Lists are active then traffic is load balanced over multiple SID-Lists are active then traffic is load balanced over
them. This document covers the advertisement of state information at them. This document covers the advertisement of state information at
skipping to change at page 10, line 45 skipping to change at page 10, line 45
where: where:
- D-Flag: Indicates the dataplane for the BSIDs and if they are - D-Flag: Indicates the dataplane for the BSIDs and if they are
16 octet SRv6 SID when set and are 4 octet SR/MPLS label value 16 octet SRv6 SID when set and are 4 octet SR/MPLS label value
when clear. when clear.
- B-Flag: Indicates the allocation of the value in the BSID field - B-Flag: Indicates the allocation of the value in the BSID field
when set and indicates that BSID is not allocated when clear. when set and indicates that BSID is not allocated when clear.
- U-Flag: Indicates the specified BSID value is unavailable when - U-Flag: Indicates the specified BSID value is unavailable when
set. set. When clear it indicates that this CP is using the
specified BSID. This flag is ignored when there is no
specified BSID.
- L-Flag: Indicates the BSID value is from the Segment Routing - L-Flag: Indicates the BSID value is from the Segment Routing
Local Block (SRLB) of the headend node when set and is from the Local Block (SRLB) of the headend node when set and is from the
local dynamic label pool when clear local dynamic label pool when clear.
- F-Flag: Indicates the BSID value is one allocated from dynamic - F-Flag: Indicates the BSID value is one allocated from dynamic
label pool due to fallback (e.g. when specified BSID is label pool due to fallback (e.g. when specified BSID is
unavailable) when set. unavailable) when set and indicates that there has been no
fallback for BSID allocation when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Binding SID: It indicates the operational or allocated BSID value * Binding SID: It indicates the operational or allocated BSID value
based on the status flags. based on the status flags.
* Specified BSID: It is used to report the explicitly specified BSID * Specified BSID: It is used to report the explicitly specified BSID
value regardless of whether it is successfully allocated or not. value regardless of whether it is successfully allocated or not.
The field is set to value 0 when BSID has not been specified. The field is set to value 0 when BSID has not been specified.
skipping to change at page 12, line 49 skipping to change at page 12, line 51
- B-Flag: Indicates the allocation of the value in the BSID field - B-Flag: Indicates the allocation of the value in the BSID field
when set and indicates that BSID is not allocated when clear. when set and indicates that BSID is not allocated when clear.
- U-Flag: Indicates the specified BSID value is unavailable when - U-Flag: Indicates the specified BSID value is unavailable when
set. When clear it indicates that this CP is using the set. When clear it indicates that this CP is using the
specified BSID. This flag is ignored when there is no specified BSID. This flag is ignored when there is no
specified BSID. specified BSID.
- F-Flag: Indicates the BSID value is one allocated dynamically - F-Flag: Indicates the BSID value is one allocated dynamically
due to fallback (e.g. when specified BSID is unavailable) when due to fallback (e.g. when specified BSID is unavailable) when
set. set and indicates that there has been no fallback for BSID
allocation when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Binding SID: It indicates the operational or allocated BSID value * Binding SID: It indicates the operational or allocated BSID value
based on the status flags. based on the status flags.
* Specified BSID: It is used to report the explicitly specified BSID * Specified BSID: It is used to report the explicitly specified BSID
value regardless of whether it is successfully allocated or not. value regardless of whether it is successfully allocated or not.
The field is set to value 0 when BSID has not been specified. The field is set to value 0 when BSID has not been specified.
skipping to change at page 14, line 7 skipping to change at page 14, line 10
* Length: 8 octets * Length: 8 octets
* Priority: 1-octet value which indicates the priority of the CP. * Priority: 1-octet value which indicates the priority of the CP.
Refer Section 2.12 of [RFC9256]. Refer Section 2.12 of [RFC9256].
* RESERVED: 1 octet. MUST be set to 0 by the originator and MUST be * RESERVED: 1 octet. MUST be set to 0 by the originator and MUST be
ignored by a receiver. ignored by a receiver.
* Flags: 2-octet field that indicates attribute and status of the * Flags: 2-octet field that indicates attribute and status of the
CP. The following bit positions are defined and the semantics are CP. The following bit positions are defined and the semantics are
described in detail in [RFC9256]. Other bits MUST be cleared by described in section 5 of [RFC9256] unless stated otherwise for
the originator and MUST be ignored by a receiver. individual flags. Other bits MUST be cleared by the originator
and MUST be ignored by a receiver.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|A|B|E|V|O|D|C|I|T|U| | |S|A|B|E|V|O|D|C|I|T|U| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
- S-Flag: Indicates the CP is in an administrative shut state - S-Flag: Indicates the CP is in an administrative shut state
when set when set and not in administrative shut state when clear.
- A-Flag: Indicates the CP is the active path (i.e. one - A-Flag: Indicates the CP is the active path (i.e. one
provisioned in the forwarding plane) for the SR Policy when set provisioned in the forwarding plane as specified in section 2.9
of [RFC9256]) for the SR Policy when set and not the active
path when clear.
- B-Flag: Indicates the CP is the backup path (i.e. one - B-Flag: Indicates the CP is the backup path (i.e. one
identified for path protection of the active path) for the SR identified for path protection of the active path as specified
Policy when set in section 9.3 of [RFC9256]) for the SR Policy when set and not
the backup path when clear.
- E-Flag: Indicates that the CP has been evaluated for validity - E-Flag: Indicates that the CP has been evaluated for validity
(e.g. headend may evaluate CPs based on their preferences) when (e.g. headend may evaluate CPs based on their preferences) when
set set and has not been evaluated for validity when clear.
- V-Flag: Indicates the CP has at least one valid SID-List when - V-Flag: Indicates the CP has at least one valid SID-List when
set. When the E-Flag is clear (i.e. the CP has not been set and indicates no valid SID-List is available or evaluated
when clear. When the E-Flag is clear (i.e. the CP has not been
evaluated), then this flag MUST be set to 0 by the originator evaluated), then this flag MUST be set to 0 by the originator
and ignored by the receiver. and ignored by the receiver.
- O-Flag: Indicates the CP was instantiated by the headend due to - O-Flag: Indicates the CP was instantiated by the headend due to
an on-demand nexthop trigger based on a local template when an on-demand nexthop trigger based on a local template when set
set. Refer to section 8.5 of [RFC9256] for details. and that the CP has not been instantiated due to on-demand
nexthop trigger when clear. Refer to section 8.5 of [RFC9256]
for details.
- D-Flag: Indicates the CP was delegated for computation to a - D-Flag: Indicates the CP was delegated for computation to a
PCE/controller when set PCE/controller when set and indicates that the CP has not been
delegated for computation when clear.
- C-Flag: Indicates the CP was provisioned by a PCE/controller - C-Flag: Indicates the CP was provisioned by a PCE/controller
when set when set and indicates that the CP was not provisioned by a
PCE/controller when clear.
- I-Flag: Indicates the CP is to perform the "drop upon invalid" - I-Flag: Indicates the CP is to perform the "drop upon invalid"
behavior when no other valid CP is available for this SR Policy behavior when no other valid CP is available for this SR Policy
when the flag is set. Refer to section 8.2 of [RFC9256] for when the flag is set. Refer to section 8.2 of [RFC9256] for
details. details. When clear, it indicates that the CP is not enabled
for the "drop upon invalid" behavior.
- T-Flag: Indicates the CP has been marked as eligible for use as - T-Flag: Indicates the CP has been marked as eligible for use as
Transit Policy on the headend when set. Refer to section 8.3 a transit policy on the headend when set and not eligible for
of [RFC9256]. use as a transit policy when clear. Refer to section 8.3 of
[RFC9256].
- U-Flag: Indicates that this CP is reported as active and is - U-Flag: Indicates that this CP is reported as active and is
dropping traffic as a result of the "drop upon invalid" dropping traffic as a result of the "drop upon invalid"
behavior being activated for the SR Policy when set. behavior being activated for the SR Policy when set. When
clear, it indicates that the CP is either dropping traffic as a
result of the "drop upon invalid" behavior. Refer to section
8.2 of [RFC9256] for details.
* Preference: 4-octet value which indicates the preference of the * Preference: 4-octet value which indicates the preference of the
CP. Refer to section 2.7 of [RFC9256] for details. CP. Refer to section 2.7 of [RFC9256] for details.
5.4. SR Policy Name TLV 5.4. SR Policy Name TLV
The SR Policy Name TLV is an optional TLV that is used to carry the The SR Policy Name TLV is an optional TLV that is used to carry the
symbolic name associated with the SR Policy. Only a single instance symbolic name associated with the SR Policy. Only a single instance
of this TLV is advertised for a given CP. If multiple instances are of this TLV is advertised for a given CP. If multiple instances are
present, then the first one is considered valid and the rest are present, then the first one is considered valid and the rest are
skipping to change at page 17, line 40 skipping to change at page 17, line 47
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|P|U|A|T|S|F|H| | |D|P|U|A|T|S|F|H| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
- D-Flag: Indicates that the CP uses SRv6 dataplane when set and - D-Flag: Indicates that the CP uses SRv6 dataplane when set and
SR/MPLS dataplane when clear SR/MPLS dataplane when clear
- P-Flag: Indicates that the CP prefers the use of only protected - P-Flag: Indicates that the CP prefers the use of only protected
SIDs when set. This flag is mutually exclusive with the SIDs when set and indicates that the CP does not prefer the use
U-Flag. of only protected SIDs when clear. This flag is mutually
exclusive with the U-Flag (i.e., both these flags cannot be set
at the same time).
- U-Flag: Indicates that the CP prefers the use of only - U-Flag: Indicates that the CP prefers the use of only
unprotected SIDs when set. This flag is mutually exclusive unprotected SIDs when set and indicates that the CP does not
with the P-Flag. prefer the use of only unprotected SIDs when clear. This flag
is mutually exclusive with the P-Flag (i.e., both these flags
cannot be set at the same time).
- A-Flag: Indicates that the CP uses only the SIDs belonging to - A-Flag: Indicates that the CP uses only the SIDs belonging to
the specified SR Algorithm when set the specified SR Algorithm when set and indicates that the CP
does not use only the SIDs belonging to the specified SR
Algorithm when clear.
- T-Flag: Indicates that the CP uses only the SIDs belonging to - T-Flag: Indicates that the CP uses only the SIDs belonging to
the specified topology when set the specified topology when set and indicates that the CP does
not use only the SIDs belonging to the specified topology when
clear.
- S-Flag: Indicates that the use of protected (P-Flag) or - S-Flag: Indicates that the use of protected (P-Flag) or
unprotected (U-Flag) SIDs becomes a strict constraint instead unprotected (U-Flag) SIDs becomes a strict constraint instead
of a preference when set of a preference when set and indicates that there is no strict
constraint (and only a preference) when clear.
- F-Flag: Indicates that the CP is fixed once computed and not - F-Flag: Indicates that the CP is fixed once computed and not
modified except on operator intervention. modified except on operator intervention and indicates that the
CP may be modified as part of recomputation when clear.
- H-Flag: Indicates that the CP uses only adjacency SIDs and - H-Flag: Indicates that the CP uses only adjacency SIDs and
traverses hop-by-hop over the links corresponding to those traverses hop-by-hop over the links corresponding to those
adjacency SIDs when set adjacency SIDs when set and indicates that the CP is not using
only hop-by-hop adjacency SIDs when clear.
* RESERVED1: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED1: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* MTID: Indicates the multi-topology identifier of the IGP topology * MTID: Indicates the multi-topology identifier of the IGP topology
that is preferred to be used when the path is set up. When the that is preferred to be used when the path is set up. When the
T-flag is set then the path is strictly using the specified T-flag is set then the path is strictly using the specified
topology SIDs only. topology SIDs only.
* Algorithm: Indicates the algorithm that is preferred to be used * Algorithm: Indicates the algorithm that is preferred to be used
skipping to change at page 22, line 4 skipping to change at page 22, line 18
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Request-Flags | Status-Flags | RESERVED | | Request-Flags | Status-Flags | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Disjoint Group Identifier (variable) // | Disjoint Group Identifier (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
* Type: 1211 * Type: 1211
* Length: Variable. Minimum of 8 octets. * Length: Variable. Minimum of 8 octets.
* Request Flags: one octet to indicate the level of disjointness * Request Flags: one octet to indicate the level of disjointness
requested as specified in the form of flags. The following flags requested as specified in the form of flags. The following flags
are defined and the other bits MUST be cleared by the originator are defined and the other bits MUST be cleared by the originator
and MUST be ignored by a receiver. and MUST be ignored by a receiver.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|S|N|L|F|I| | |S|N|L|F|I| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
- S-Flag: Indicates that SRLG disjointness is requested when set - S-Flag: Indicates that SRLG disjointness is requested when set
and indicates that SRLG disjointness is not requested when
clear.
- N-Flag: Indicates that node disjointness is requested when set - N-Flag: Indicates that node disjointness is requested when set
and indicates that node disjointness is not requested when
clear.
- L-Flag: Indicates that link disjointness is requested when set - L-Flag: Indicates that link disjointness is requested when set
and indicates that the link disjointness is not requested when
clear.
- F-Flag: Indicates that the computation may fallback to a lower - F-Flag: Indicates that the computation may fallback to a lower
level of disjointness amongst the ones requested when all level of disjointness amongst the ones requested when all
cannot be achieved when set cannot be achieved when set and indicates that fallback to a
lower level of disjointness is not allowed when clear.
- I-Flag: Indicates that the computation may fallback to the - I-Flag: Indicates that the computation may fallback to the
default best path (e.g. IGP path) in case of none of the default best path (e.g. IGP path) in case of none of the
desired disjointness can be achieved when set desired disjointness can be achieved when set and indicates
that fallback to the default best path is not allowed when
clear.
* Status Flags: one octet to indicate the level of disjointness that * Status Flags: one octet to indicate the level of disjointness that
has been achieved by the computation as specified in the form of has been achieved by the computation as specified in the form of
flags. The following flags are defined and the other bits MUST be flags. The following flags are defined and the other bits MUST be
cleared by the originator and MUST be ignored by a receiver. cleared by the originator and MUST be ignored by a receiver.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|S|N|L|F|I|X| | |S|N|L|F|I|X| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
- S-Flag: Indicates that SRLG disjointness is achieved when set - S-Flag: Indicates that SRLG disjointness is achieved when set
and indicates that SRLG disjointness is not achieved when
clear.
- N-Flag: Indicates that node disjointness is achieved when set - N-Flag: Indicates that node disjointness is achieved when set
and indicates that node disjointness was not achieved when
clear.
- L-Flag: Indicates that link disjointness is achieved when set - L-Flag: Indicates that link disjointness is achieved when set
and indicates that link disjointness was not achieved when
clear.
- F-Flag: Indicates that the computation has fallen back to a - F-Flag: Indicates that the computation has fallen back to a
lower level of disjointness than requested when set lower level of disjointness than requested when set and
indicates that there has been no fallback to a lower level of
disjointness when clear.
- I-Flag: Indicates that the computation has fallen back to the - I-Flag: Indicates that the computation has fallen back to the
best path (e.g. IGP path) and disjointness has not been best path (e.g. IGP path) and disjointness has not been
achieved when set achieved when set and indicates that there has been no fallback
to best path when clear.
- X-Flag : Indicates that the disjointness constraint could not - X-Flag : Indicates that the disjointness constraint could not
be achieved and hence path has been invalidated when set be achieved and hence path has been invalidated when set and
indicates that the path has not been invalidated due to unmet
disjointness constraints when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Disjointness Group Identifier: 4-octet value that is the group * Disjointness Group Identifier: 4-octet value that is the group
identifier for a set of disjoint paths. A PCEP Association Object identifier for a set of disjoint paths. A PCEP Association Object
[RFC8697] (including its optional TLVs) MAY also be advertised to [RFC8697] (including its optional TLVs) MAY also be advertised to
convey the disjoint group identifier. convey the disjoint group identifier.
5.6.5. SR Bidirectional Group Constraint Sub-TLV 5.6.5. SR Bidirectional Group Constraint Sub-TLV
skipping to change at page 24, line 23 skipping to change at page 25, line 10
|R|C| | |R|C| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
- R-Flag: Indicates that this CP of the SR Policy forms the - R-Flag: Indicates that this CP of the SR Policy forms the
reverse path when the R-Flag is set. If the R-Flag is clear, reverse path when the R-Flag is set. If the R-Flag is clear,
this CP forms the forward path. this CP forms the forward path.
- C-Flag: Indicates that the bidirectional path is co-routed when - C-Flag: Indicates that the bidirectional path is co-routed when
set set and indicates that the bidirectional path is not co-routed
when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Bidirectional Group Identifier: 4-octet value that is the group * Bidirectional Group Identifier: 4-octet value that is the group
identifier for a set of bidirectional paths. A PCEP Association identifier for a set of bidirectional paths. A PCEP Association
Object [RFC8697] (including its optional TLVs) MAY also be Object [RFC8697] (including its optional TLVs) MAY also be
advertised to convey the bidirectional group identifier. advertised to convey the bidirectional group identifier. The PCEP
Association Object MUST NOT be encoded and this sub-TLV skipped
along with an error log, if the object size is such that the
update for a single SR Policy CP NLRI would exceed the supported
BGP message size by the implementation. Refer section 5.3 of
[RFC9552] for discussion on implications of encoding large sets of
information into BGP-LS.
5.6.6. SR Metric Constraint Sub-TLV 5.6.6. SR Metric Constraint Sub-TLV
The SR Metric Constraint sub-TLV is an optional sub-TLV of the SR CP The SR Metric Constraint sub-TLV is an optional sub-TLV of the SR CP
Constraints TLV that is used to report the optimization metric of the Constraints TLV that is used to report the optimization metric of the
CP. For a dynamic path computation, it is used to report the CP. For a dynamic path computation, it is used to report the
optimization metric used along with its parameters. For an explicit optimization metric used along with its parameters. For an explicit
path, this sub-TLV MAY be used to report the metric margin or bound path, this sub-TLV MAY be used to report the metric margin or bound
to be used for validation (i.e., the path is invalidated if the to be used for validation (i.e., the path is invalidated if the
metric is beyond specified values). Multiple instances of this sub- metric is beyond specified values). Multiple instances of this sub-
skipping to change at page 25, line 40 skipping to change at page 26, line 26
MUST be ignored by a receiver. MUST be ignored by a receiver.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|O|M|A|B| | |O|M|A|B| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
- O-Flag: Indicates that this is the optimization metric being - O-Flag: Indicates that this is the optimization metric being
reported for a dynamic CP when set. This bit MUST NOT be set reported for a dynamic CP when set and indicates that the
in more than one instance of this TLV for a given CP metric is not the optimization metric when clear. This bit
advertisement. MUST NOT be set in more than one instance of this TLV for a
given CP advertisement.
- M-Flag: Indicates that the metric margin allowed is specified - M-Flag: Indicates that the metric margin allowed is specified
when set. when set and indicates that metric margin allowed is not
specified when clear.
- A-Flag: Indicates that the metric margin is specified as an - A-Flag: Indicates that the metric margin is specified as an
absolute value when set and is expressed as a percentage of the absolute value when set and is expressed as a percentage of the
minimum metric when clear. minimum metric when clear.
- B-Flag: Indicates that the metric bound allowed for the path is - B-Flag: Indicates that the metric bound allowed for the path is
specified when set. specified when set and indicates that metric bound is not
specified when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Metric Margin: 4-octet value which indicates the metric margin * Metric Margin: 4-octet value which indicates the metric margin
when the M-flag is set. The metric margin is specified as either when the M-flag is set. The metric margin is specified as either
an absolute value or as a percentage of the minimum computed path an absolute value or as a percentage of the minimum computed path
metric based on the A-flag. The metric margin loosens the metric based on the A-flag. The metric margin loosens the
criteria for minimum metric path calculation up to the specified criteria for minimum metric path calculation up to the specified
metric to accommodate for other factors such as bandwidth metric to accommodate for other factors such as bandwidth
skipping to change at page 27, line 28 skipping to change at page 28, line 24
set and indicates it is comprised of SR/MPLS labels when clear. set and indicates it is comprised of SR/MPLS labels when clear.
- E-Flag: Indicates that SID-List is associated with an explicit - E-Flag: Indicates that SID-List is associated with an explicit
candidate path when set and with a dynamic candidate path when candidate path when set and with a dynamic candidate path when
clear. All segment lists of a given candidate path MUST be clear. All segment lists of a given candidate path MUST be
either explicit or dynamic and in case of inconsistency, the either explicit or dynamic and in case of inconsistency, the
receiver MAY consider them all to be dynamic. receiver MAY consider them all to be dynamic.
- C-Flag: Indicates that SID-List has been computed for a dynamic - C-Flag: Indicates that SID-List has been computed for a dynamic
path when set. It is always reported as set for explicit path when set. It is always reported as set for explicit
paths. paths. When clear, it indicates that the SID-List has not been
computed for a dynamic path.
- V-Flag: Indicates the SID-List has passed verification or its - V-Flag: Indicates the SID-List has passed verification or its
verification was not required when set and failed verification verification was not required when set and failed verification
when clear. when clear.
- R-Flag: Indicates that the first Segment has been resolved when - R-Flag: Indicates that the first Segment has been resolved when
set and failed resolution when clear. set and failed resolution when clear.
- F-Flag: Indicates that the computation for the dynamic path - F-Flag: Indicates that the computation for the dynamic path
failed when set and succeeded (or not required in case of failed when set and succeeded (or not required in case of
explicit path) when clear explicit path) when clear.
- A-Flag: Indicates that all the SIDs in the SID-List belong to - A-Flag: Indicates that all the SIDs in the SID-List belong to
the specified algorithm when set. the specified algorithm when set and indicates that not all the
SIDs belong to the specified algorithm when clear.
- T-Flag: Indicates that all the SIDs in the SID-List belong to - T-Flag: Indicates that all the SIDs in the SID-List belong to
the specified topology (identified by the multi-topology ID) the specified topology (identified by the multi-topology ID)
when set. when set and indicates that not all the SIDs belong to the
specified topology when clear.
- M-Flag: Indicates that the SID-list has been removed from the - M-Flag: Indicates that the SID-list has been removed from the
forwarding plane due to fault detection by a monitoring forwarding plane due to fault detection by a monitoring
mechanism (e.g. BFD) when set and indicates no fault detected mechanism (e.g. BFD) when set and indicates no fault detected
or monitoring is not being done when clear. or monitoring is not being done when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* MTID: 2 octets that indicates the multi-topology identifier of the * MTID: 2 octets that indicates the multi-topology identifier of the
skipping to change at page 29, line 35 skipping to change at page 30, line 35
* Segment Type: 1 octet which indicates the type of segment. * Segment Type: 1 octet which indicates the type of segment.
Initial values are specified by this document (see Section 5.8.1 Initial values are specified by this document (see Section 5.8.1
for details). Additional segment types are possible, but out of for details). Additional segment types are possible, but out of
scope for this document. scope for this document.
* RESERVED: 1 octet. MUST be set to 0 by the originator and MUST be * RESERVED: 1 octet. MUST be set to 0 by the originator and MUST be
ignored by a receiver. ignored by a receiver.
* Flags: 2-octet field that indicates attribute and status of the * Flags: 2-octet field that indicates attribute and status of the
Segment and its SID. The following bit positions are defined and Segment and its SID. The following bit positions are defined and
the semantics are described in detail in [RFC9256]. Other bits the semantics are described in section 5 of [RFC9256]. Other bits
MUST be cleared by the originator and MUST be ignored by a MUST be cleared by the originator and MUST be ignored by a
receiver. receiver.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|E|V|R|A| | |S|E|V|R|A| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
skipping to change at page 38, line 45 skipping to change at page 39, line 45
MUST be ignored by a receiver. MUST be ignored by a receiver.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|M|A|B|V| | |M|A|B|V| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
- M-Flag: Indicates that the metric margin allowed for this path - M-Flag: Indicates that the metric margin allowed for this path
computation is specified when set computation is specified when set and indicates that metric
margin allowed is not specified when clear.
- A-Flag: Indicates that the metric margin is specified as an - A-Flag: Indicates that the metric margin is specified as an
absolute value when set and is expressed as a percentage of the absolute value when set and is expressed as a percentage of the
minimum metric when clear. minimum metric when clear.
- B-Flag: Indicates that the metric bound allowed for the path is - B-Flag: Indicates that the metric bound allowed for the path is
specified when set. specified when set and indicates that metric bound is not
specified when clear.
- V-Flag: Indicates that the metric value computed is being - V-Flag: Indicates that the metric value computed is being
reported when set. reported when set and indicates that the computed metric value
is not being reported when clear.
* RESERVED: 2 octets. MUST be set to 0 by the originator and MUST * RESERVED: 2 octets. MUST be set to 0 by the originator and MUST
be ignored by a receiver. be ignored by a receiver.
* Metric Margin: 4-octet value which indicates the metric margin * Metric Margin: 4-octet value which indicates the metric margin
value when the M-flag is set. The metric margin is specified as value when the M-flag is set. The metric margin is specified as
either an absolute value or as a percentage of the minimum either an absolute value or as a percentage of the minimum
computed path metric based on the A-flag. The metric margin computed path metric based on the A-flag. The metric margin
loosens the criteria for minimum metric path calculation up to the loosens the criteria for minimum metric path calculation up to the
specified metric to accomodate for other factors such as bandwidth specified metric to accomodate for other factors such as bandwidth
 End of changes. 56 change blocks. 
80 lines changed or deleted 146 lines changed or added

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