draft-ietf-ospf-ospfv3-segment-routing-extensions-17.txt | draft-ietf-ospf-ospfv3-segment-routing-extensions-18.txt | |||
---|---|---|---|---|
Open Shortest Path First IGP P. Psenak, Ed. | Open Shortest Path First IGP P. Psenak, Ed. | |||
Internet-Draft Cisco Systems, Inc. | Internet-Draft Cisco Systems, Inc. | |||
Intended status: Standards Track S. Previdi, Ed. | Intended status: Standards Track S. Previdi, Ed. | |||
Expires: May 9, 2019 Individual | Expires: May 20, 2019 Individual | |||
November 5, 2018 | November 16, 2018 | |||
OSPFv3 Extensions for Segment Routing | OSPFv3 Extensions for Segment Routing | |||
draft-ietf-ospf-ospfv3-segment-routing-extensions-17 | draft-ietf-ospf-ospfv3-segment-routing-extensions-18 | |||
Abstract | Abstract | |||
Segment Routing (SR) allows a flexible definition of end-to-end paths | Segment Routing (SR) allows a flexible definition of end-to-end paths | |||
within IGP topologies by encoding paths as sequences of topological | within IGP topologies by encoding paths as sequences of topological | |||
sub-paths, called "segments". These segments are advertised by the | sub-paths, called "segments". These segments are advertised by the | |||
link-state routing protocols (IS-IS and OSPF). | link-state routing protocols (IS-IS and OSPF). | |||
This draft describes the OSPFv3 extensions required for Segment | This draft describes the OSPFv3 extensions required for Segment | |||
Routing with MPLS data plane. | Routing with MPLS data plane. | |||
skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
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 May 9, 2019. | This Internet-Draft will expire on May 20, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 27 ¶ | skipping to change at page 2, line 27 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 4 | 3. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 4 | |||
3.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 4 | 3.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Segment Routing Capabilities . . . . . . . . . . . . . . . . 5 | 4. Segment Routing Capabilities . . . . . . . . . . . . . . . . 5 | |||
4.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 5 | 4.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 5 | |||
4.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 6 | 4.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 6 | |||
4.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 8 | 4.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 8 | |||
4.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 10 | 4.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 10 | |||
5. OSPFv3 Extended Prefix Range TLV . . . . . . . . . . . . . . 11 | 5. OSPFv3 Extended Prefix Range TLV . . . . . . . . . . . . . . 11 | |||
6. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 14 | 6. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 13 | |||
7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 17 | 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 17 | |||
7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 18 | 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 17 | |||
7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 19 | 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 19 | |||
8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 20 | 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 20 | |||
8.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 20 | 8.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 20 | |||
8.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 21 | 8.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 21 | |||
8.3. Segment Routing for External Prefixes . . . . . . . . . . 22 | 8.3. Segment Routing for External Prefixes . . . . . . . . . . 22 | |||
8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 23 | 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 22 | |||
8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 23 | 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 22 | |||
8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 23 | 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 22 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
9.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 23 | 9.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 23 | |||
9.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 24 | 9.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 23 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 24 | 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 27 | 12.2. Informative References . . . . . . . . . . . . . . . . . 26 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
1. Introduction | 1. Introduction | |||
Segment Routing (SR) allows a flexible definition of end-to-end paths | Segment Routing (SR) allows a flexible definition of end-to-end paths | |||
within IGP topologies by encoding paths as sequences of topological | within IGP topologies by encoding paths as sequences of topological | |||
sub-paths, called "segments". These segments are advertised by the | sub-paths, called "segments". These segments are advertised by the | |||
link-state routing protocols (IS-IS and OSPF). Prefix segments | link-state routing protocols (IS-IS and OSPF). Prefix segments | |||
represent an ECMP-aware shortest-path to a prefix (or a node), as per | represent an ECMP-aware shortest-path to a prefix (or a node), as per | |||
the state of the IGP topology. Adjacency segments represent a hop | the state of the IGP topology. Adjacency segments represent a hop | |||
over a specific adjacency between two nodes in the IGP. A prefix | over a specific adjacency between two nodes in the IGP. A prefix | |||
skipping to change at page 6, line 19 ¶ | skipping to change at page 6, line 19 ¶ | |||
flooding scopes, the SR-Algorithm TLV in the OSPFv3 Router | flooding scopes, the SR-Algorithm TLV in the OSPFv3 Router | |||
Information Opaque LSA with the area-scoped flooding scope MUST be | Information Opaque LSA with the area-scoped flooding scope MUST be | |||
used. If the SR-Algorithm TLV appears in multiple OSPFv3 Router | used. If the SR-Algorithm TLV appears in multiple OSPFv3 Router | |||
Information Opaque LSAs that have the same flooding scope, the SR- | Information Opaque LSAs that have the same flooding scope, the SR- | |||
Algorithm TLV in the OSPFv3 Router Information Opaque LSA with the | Algorithm TLV in the OSPFv3 Router Information Opaque LSA with the | |||
numerically smallest Instance ID MUST be used and subsequent | numerically smallest Instance ID MUST be used and subsequent | |||
instances of the SR-Algorithm TLV MUST be ignored. | instances of the SR-Algorithm TLV MUST be ignored. | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined opaque flooding scopes (link, area, or Autonomous System | the defined opaque flooding scopes (link, area, or Autonomous System | |||
(AS)). For the purpose of SR-Algorithm TLV advertisement, area- | (AS)). For the purpose of SR-Algorithm TLV advertisement, at least | |||
scoped flooding is REQUIRED. | area-scoped flooding is REQUIRED. | |||
4.2. SID/Label Range TLV | 4.2. SID/Label Range TLV | |||
Prefix SIDs MAY be advertised in a form of an index as described in | Prefix SIDs MAY be advertised in a form of an index as described in | |||
Section 6. Such index defines the offset in the SID/Label space | Section 6. Such index defines the offset in the SID/Label space | |||
advertised by the router. The SID/Label Range TLV is used to | advertised by the router. The SID/Label Range TLV is used to | |||
advertise such SID/Label space. | advertise such SID/Label space. | |||
The SID/Label Range TLV is a top-level TLV of the OSPFv3 Router | The SID/Label Range TLV is a top-level TLV of the OSPFv3 Router | |||
Information Opaque LSA (defined in [RFC7770]). | Information Opaque LSA (defined in [RFC7770]). | |||
skipping to change at page 8, line 31 ¶ | skipping to change at page 8, line 31 ¶ | |||
... | ... | |||
index 99 means label 199 | index 99 means label 199 | |||
index 100 means label 1000 | index 100 means label 1000 | |||
index 199 means label 1099 | index 199 means label 1099 | |||
... | ... | |||
index 200 means label 500 | index 200 means label 500 | |||
... | ... | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined flooding scopes (link, area, or autonomous system (AS)). | the defined flooding scopes (link, area, or autonomous system (AS)). | |||
For the purpose of SID/Label Range TLV advertisement, area-scoped | For the purpose of SID/Label Range TLV advertisement, at least area- | |||
flooding is REQUIRED. | scoped flooding is REQUIRED. | |||
4.3. SR Local Block TLV | 4.3. SR Local Block TLV | |||
The SR Local Block TLV (SRLB TLV) contains the range of labels the | The SR Local Block TLV (SRLB TLV) contains the range of labels the | |||
node has reserved for local SIDs. SIDs from the SRLB MAY be used for | node has reserved for local SIDs. SIDs from the SRLB MAY be used for | |||
Adjacency-SIDs, but also by components other than the OSPFv3 | Adjacency-SIDs, but also by components other than the OSPFv3 | |||
protocol. As an example, an application or a controller can instruct | protocol. As an example, an application or a controller can instruct | |||
the router to allocate a specific local SID. Some controllers or | the router to allocate a specific local SID. Some controllers or | |||
applications can use the control plane to discover the available set | applications can use the control plane to discover the available set | |||
of local SIDs on a particular router. In such cases, the SRLB is | of local SIDs on a particular router. In such cases, the SRLB is | |||
skipping to change at page 10, line 19 ¶ | skipping to change at page 10, line 19 ¶ | |||
document. | document. | |||
A router advertising the SRLB TLV MAY also have other label ranges, | A router advertising the SRLB TLV MAY also have other label ranges, | |||
outside of the SRLB, used for its local allocation purposes which are | outside of the SRLB, used for its local allocation purposes which are | |||
not advertised in the SRLB TLV. For example, it is possible that an | not advertised in the SRLB TLV. For example, it is possible that an | |||
Adjacency-SID is allocated using a local label that is not part of | Adjacency-SID is allocated using a local label that is not part of | |||
the SRLB. | the SRLB. | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined flooding scopes (link, area, or autonomous system (AS)). | the defined flooding scopes (link, area, or autonomous system (AS)). | |||
For the purpose of SRLB TLV advertisement, area-scoped flooding is | For the purpose of SRLB TLV advertisement, at least area-scoped | |||
REQUIRED. | flooding is REQUIRED. | |||
4.4. SRMS Preference TLV | 4.4. SRMS Preference TLV | |||
The Segment Routing Mapping Server Preference TLV (SRMS Preference | The Segment Routing Mapping Server Preference TLV (SRMS Preference | |||
TLV) is used to advertise a preference associated with a node that | TLV) is used to advertise a preference associated with a node that | |||
acts as an SR Mapping Server. The role of an SRMS is described in | acts as an SR Mapping Server. The role of an SRMS is described in | |||
[I-D.ietf-spring-segment-routing-ldp-interop]. SRMS preference is | [I-D.ietf-spring-segment-routing-ldp-interop]. SRMS preference is | |||
defined in [I-D.ietf-spring-segment-routing-ldp-interop]. | defined in [I-D.ietf-spring-segment-routing-ldp-interop]. | |||
The SRMS Preference TLV is a top-level TLV of the OSPFv3 Router | The SRMS Preference TLV is a top-level TLV of the OSPFv3 Router | |||
skipping to change at page 12, line 46 ¶ | skipping to change at page 12, line 46 ¶ | |||
the advertisement. The Range Size MUST NOT exceed the number of | the advertisement. The Range Size MUST NOT exceed the number of | |||
prefixes that could be satisfied by the prefix length without | prefixes that could be satisfied by the prefix length without | |||
including: | including: | |||
Addresses from the IPv4 multicast address range (224.0.0.0/3), | Addresses from the IPv4 multicast address range (224.0.0.0/3), | |||
if the AF is IPv4 unicast | if the AF is IPv4 unicast | |||
Addresses other than the IPv6 unicast addresses, if the AF is | Addresses other than the IPv6 unicast addresses, if the AF is | |||
IPv6 unicast | IPv6 unicast | |||
Flags: Single octet field. The following flags are defined: | Flags: Reserved. MUST be zero when sent and are ignored when | |||
received. | ||||
0 1 2 3 4 5 6 7 | ||||
+--+--+--+--+--+--+--+--+ | ||||
|IA| | | | | | | | | ||||
+--+--+--+--+--+--+--+--+ | ||||
where: | ||||
IA-Flag: Inter-Area flag. If set, advertisement is of inter- | ||||
area type. An Are Border Router (ABR) that is advertising the | ||||
OSPFv3 Extended Prefix Range TLV between areas MUST set this | ||||
bit. | ||||
This bit is used to prevent redundant flooding of Prefix Range | ||||
TLVs between areas as follows: | ||||
An ABR only propagates an inter-area Prefix Range | ||||
advertisement from the backbone area to connected non- | ||||
backbone areas if the advertisement is considered to be the | ||||
best one. The following rules are used to select the best | ||||
range from the set of advertisements for the same Prefix | ||||
Range: | ||||
An ABR always prefers intra-area Prefix Range | ||||
advertisements over inter-area advertisements. | ||||
An ABR does not consider inter-area Prefix Range | ||||
advertisements coming from non-backbone areas. | ||||
Other bits: Reserved. These MUST be zero when sent and are | ||||
ignored when received. | ||||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Address Prefix: | Address Prefix: | |||
For the address family IPv4 unicast, the prefix itself is | For the address family IPv4 unicast, the prefix itself is | |||
encoded as a 32-bit value. The default route is represented by | encoded as a 32-bit value. The default route is represented by | |||
a prefix of length 0. | a prefix of length 0. | |||
skipping to change at page 19, line 18 ¶ | skipping to change at page 18, line 27 ¶ | |||
Other bits: Reserved. These MUST be zero when sent and are | Other bits: Reserved. These MUST be zero when sent and are | |||
ignored when received. | ignored when received. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Weight: Weight used for load-balancing purposes. The use of the | Weight: Weight used for load-balancing purposes. The use of the | |||
weight is defined in [RFC8402]. | weight is defined in [RFC8402]. | |||
SID/Index/Label: According to the V and L flags, it contains | SID/Index/Label: According to the V-Flag, it contains either: | |||
either: | ||||
A 32-bit index defining the offset in the SID/Label space | A 32-bit index defining the offset in the SID/Label space | |||
advertised by this router. | advertised by this router. | |||
A 24-bit label where the 20 rightmost bits are used for | A 24-bit label where the 20 rightmost bits are used for | |||
encoding the label value. | encoding the label value. | |||
An SR-capable router MAY allocate an Adj-SID for each of its | An SR-capable router MAY allocate an Adj-SID for each of its | |||
adjacencies and set the B-Flag when the adjacency is eligible for | adjacencies and set the B-Flag when the adjacency is eligible for | |||
protection by an FRR mechanism (IP or MPLS) as described in | protection by an FRR mechanism (IP or MPLS) as described in | |||
End of changes. 13 change blocks. | ||||
53 lines changed or deleted | 22 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/ |