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/