draft-ietf-ospf-segment-routing-extensions-19.txt   draft-ietf-ospf-segment-routing-extensions-20.txt 
Open Shortest Path First IGP P. Psenak, Ed. Open Shortest Path First IGP P. Psenak, Ed.
Internet-Draft S. Previdi, Ed. Internet-Draft S. Previdi, Ed.
Intended status: Standards Track C. Filsfils Intended status: Standards Track C. Filsfils
Expires: February 26, 2018 Cisco Systems, Inc. Expires: April 23, 2018 Cisco Systems, Inc.
H. Gredler H. Gredler
RtBrick Inc. RtBrick Inc.
R. Shakir R. Shakir
Google, Inc. Google, Inc.
W. Henderickx W. Henderickx
Nokia Nokia
J. Tantsura J. Tantsura
Individual Individual
August 25, 2017 October 20, 2017
OSPF Extensions for Segment Routing OSPF Extensions for Segment Routing
draft-ietf-ospf-segment-routing-extensions-19 draft-ietf-ospf-segment-routing-extensions-20
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 OSPF extensions required for Segment This draft describes the OSPF extensions required for Segment
Routing. Routing.
skipping to change at page 1, line 44 skipping to change at page 1, line 44
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://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 February 26, 2018. This Internet-Draft will expire on April 23, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 3 2. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 3
2.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 3 2.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 4
3. Segment Routing Capabilities . . . . . . . . . . . . . . . . 4 3. Segment Routing Capabilities . . . . . . . . . . . . . . . . 4
3.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 4 3.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 4
3.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 6 3.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 6
3.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 8 3.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 8
3.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 10 3.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 10
4. OSPF Extended Prefix Range TLV . . . . . . . . . . . . . . . 11 4. OSPF Extended Prefix Range TLV . . . . . . . . . . . . . . . 11
5. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 13 5. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 13
6. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 16 6. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 16
6.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 16 6.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 16
6.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 18 6.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 18
skipping to change at page 2, line 48 skipping to change at page 2, line 48
7.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 20 7.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 20
7.3. Segment Routing for External Prefixes . . . . . . . . . . 21 7.3. Segment Routing for External Prefixes . . . . . . . . . . 21
7.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 21 7.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 21
7.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 21 7.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 21
7.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 21 7.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 21
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
8.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 22 8.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 22
8.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 22 8.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 22
8.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 22 8.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 22
8.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 22 8.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 22
8.5. SR-Algorithm Registry . . . . . . . . . . . . . . . . . . 23
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 23 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 23
10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 10. Security Considerations . . . . . . . . . . . . . . . . . . . 25
11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 25
13.1. Normative References . . . . . . . . . . . . . . . . . . 25 13.1. Normative References . . . . . . . . . . . . . . . . . . 26
13.2. Informative References . . . . . . . . . . . . . . . . . 26 13.2. Informative References . . . . . . . . . . . . . . . . . 26
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27
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 4, line 17 skipping to change at page 4, line 22
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID/Label (variable) | | SID/Label (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
Type: TBD, suggested value 1 Type: 1
Length: Variable, 3 or 4 octet Length: Variable, 3 or 4 octet
SID/Label: If length is set to 3, then the 20 rightmost bits SID/Label: If length is set to 3, then the 20 rightmost bits
represent a label. If length is set to 4, then the value represent a label. If length is set to 4, then the value
represents a 32-bit SID. represents a 32-bit SID.
The receiving router MUST ignore the SID/Label Sub-TLV if the The receiving router MUST ignore the SID/Label Sub-TLV if the
length is other then 3 or 4. length is other then 3 or 4.
skipping to change at page 5, line 19 skipping to change at page 5, line 22
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Algorithm 1 | Algorithm... | Algorithm n | | | Algorithm 1 | Algorithm... | Algorithm n | |
+- -+ +- -+
| | | |
+ + + +
where: where:
Type: TBD, suggested value 8 Type: 8
Length: Variable, dependent on number of algorithms advertised. Variable, in octets, dependent on number of algorithms advertised.
Algorithm: Single octet identifying the algorithm. The following Algorithm: Single octet identifying the algorithm. The following
values are defined by this document: values are defined by this document:
0: Shortest Path First (SPF) algorithm based on link metric. 0: Shortest Path First (SPF) algorithm based on link metric.
This is the standard shortest path algorithm as computed by the This is the standard shortest path algorithm as computed by the
OSPF protocol. Consistent with the deployed practice for link- OSPF protocol. Consistent with the deployed practice for link-
state protocols, Algorithm 0 permits any node to overwrite the state protocols, Algorithm 0 permits any node to overwrite the
SPF path with a different path based on its local policy. If SPF path with a different path based on its local policy. If
the SR-Algorithm TLV is advertised, Algorithm 0 MUST be the SR-Algorithm TLV is advertised, Algorithm 0 MUST be
skipping to change at page 6, line 36 skipping to change at page 6, line 38
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Range Size | Reserved | | Range Size | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs (variable) | | Sub-TLVs (variable) |
+- -+ +- -+
| | | |
+ + + +
where: where:
Type: TBD, suggested value 9 Type: 9
Length: Variable, dependent on Sub-TLVs. Length: Variable, in octets, dependent on Sub-TLVs.
Range Size: 3-octet SID/label range size (i.e., the number of SIDs Range Size: 3-octet SID/label range size (i.e., the number of SIDs
or labels in the range including the first SID/label). It MUST be or labels in the range including the first SID/label). It MUST be
greater than 0. greater than 0.
Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as
defined in Section 2.1. The SID/Label Sub-TLV MUST be included in defined in Section 2.1. The SID/Label Sub-TLV MUST be included in
the SID/Label Range TLV. The SID/Label advertised in the SID/Label the SID/Label Range TLV. The SID/Label advertised in the SID/Label
Sub-TLV represents the first SID/Label in the advertised range. Sub-TLV represents the first SID/Label in the advertised range.
skipping to change at page 9, line 19 skipping to change at page 9, line 19
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Range Size | Reserved | | Range Size | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs (variable) | | Sub-TLVs (variable) |
+- -+ +- -+
| | | |
+ + + +
where: where:
Type: TBD, suggested value 12 Type: 14
Length: Variable, dependent on Sub-TLVs. Length: Variable, in octets, dependent on Sub-TLVs.
Range Size: 3-octet SID/label range size (i.e., the number of SIDs Range Size: 3-octet SID/label range size (i.e., the number of SIDs
or labels in the range including the first SID/label). It MUST be or labels in the range including the first SID/label). It MUST be
greater than 0. greater than 0.
Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as
defined in Section 2.1. The SID/Label Sub-TLV MUST be included in defined in Section 2.1. The SID/Label Sub-TLV MUST be included in
the SRLB TLV. The SID/Label advertised in the SID/Label Sub-TLV the SRLB TLV. The SID/Label advertised in the SID/Label Sub-TLV
represents the first SID/Label in the advertised range. represents the first SID/Label in the advertised range.
skipping to change at page 10, line 35 skipping to change at page 10, line 35
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Preference | Reserved | | Preference | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
Type: TBD, suggested value 13 Type: 13
Length: 4 octets Length: 4 octets
Preference: 1 octet. SRMS preference value from 0 to 255. Preference: 1 octet. SRMS preference value from 0 to 255.
When multiple SRMS Preference TLVs are received from a given router, When multiple SRMS Preference TLVs are received from a given router,
the receiver SHOULD use the first occurrence of the TLV in the Router the receiver SHOULD use the first occurrence of the TLV in the Router
Information LSA. If the SRMS Preference TLV appears in multiple Information LSA. If the SRMS Preference TLV appears in multiple
Router Information LSAs that have different flooding scopes, the SRMS Router Information LSAs that have different flooding scopes, the SRMS
Preference TLV in the Router Information LSA with the narrowest Preference TLV in the Router Information LSA with the narrowest
skipping to change at page 11, line 47 skipping to change at page 11, line 47
| Flags | Reserved | | Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Prefix (variable) | | Address Prefix (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs (variable) | | Sub-TLVs (variable) |
+- -+ +- -+
| | | |
where: where:
Type: TBD, suggested value 2. Type: 2
Length: Variable, dependent on Sub-TLVs. Length: Variable, in octets, dependent on Sub-TLVs.
Prefix length: Length of prefix in bits. Prefix length: Length of prefix in bits.
AF: Address family for the prefix. Currently, the only supported AF: Address family for the prefix. Currently, the only supported
value is 0 for IPv4 unicast. The inclusion of address family in value is 0 for IPv4 unicast. The inclusion of address family in
this TLV allows for future extension. this TLV allows for future extension.
Range size: Represents the number of prefixes that are covered by Range size: Represents the number of prefixes that are covered by
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
skipping to change at page 13, line 24 skipping to change at page 13, line 24
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved | MT-ID | Algorithm | | Flags | Reserved | MT-ID | Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID/Index/Label (variable) | | SID/Index/Label (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
Type: TBD, suggested value 2. Type: 2
Length: 7 or 8 octets, dependent on the V-flag Length: 7 or 8 octets, dependent on the V-flag
Flags: Single octet field. The following flags are defined: Flags: Single octet field. The following flags are defined:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+
| |NP|M |E |V |L | | | | |NP|M |E |V |L | | |
+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+
skipping to change at page 17, line 5 skipping to change at page 17, line 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved | MT-ID | Weight | | Flags | Reserved | MT-ID | Weight |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID/Label/Index (variable) | | SID/Label/Index (variable) |
+---------------------------------------------------------------+ +---------------------------------------------------------------+
where: where:
Type: TBD, suggested value 2. Type: 2
Length: 7 or 8 octets, dependent on the V flag. Length: 7 or 8 octets, dependent on the V flag.
Flags: Single octet field containing the following flags: Flags: Single octet field containing the following flags:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|B|V|L|G|P| | |B|V|L|G|P| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
skipping to change at page 18, line 43 skipping to change at page 18, line 43
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved | MT-ID | Weight | | Flags | Reserved | MT-ID | Weight |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor ID | | Neighbor ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID/Label/Index (variable) | | SID/Label/Index (variable) |
+---------------------------------------------------------------+ +---------------------------------------------------------------+
where: where:
Type: TBD, suggested value 3. Type: 3
Length: 11 or 12 octets, dependent on V-flag. Length: 11 or 12 octets, dependent on V-flag.
Flags: same as in Section 6.1 Flags: same as in Section 6.1
MT-ID: Multi-Topology ID (as defined in [RFC4915]. MT-ID: Multi-Topology ID (as defined in [RFC4915].
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 [I-D.ietf-spring-segment-routing]. weight is defined in [I-D.ietf-spring-segment-routing].
skipping to change at page 22, line 25 skipping to change at page 22, line 25
8. IANA Considerations 8. IANA Considerations
This specification updates several existing OSPF registries. This specification updates several existing OSPF registries.
8.1. OSPF OSPF Router Information (RI) TLVs Registry 8.1. OSPF OSPF Router Information (RI) TLVs Registry
o 8 (IANA Preallocated) - SR-Algorithm TLV o 8 (IANA Preallocated) - SR-Algorithm TLV
o 9 (IANA Preallocated) - SID/Label Range TLV o 9 (IANA Preallocated) - SID/Label Range TLV
o 12 - SR Local Block TLV
o 13 - SRMS Preference TLV o 13 - SRMS Preference TLV
o 14 - SR Local Block TLV
8.2. OSPF Extended Prefix LSA TLV Registry 8.2. OSPF Extended Prefix LSA TLV Registry
Following values are allocated: Following values are allocated:
o 2 - OSPF Extended Prefix Range TLV o 2 - OSPF Extended Prefix Range TLV
8.3. OSPF Extended Prefix LSA Sub-TLV Registry 8.3. OSPF Extended Prefix LSA Sub-TLV Registry
Following values are allocated: Following values are allocated:
skipping to change at page 23, line 5 skipping to change at page 23, line 5
8.4. OSPF Extended Link LSA Sub-TLV Registry 8.4. OSPF Extended Link LSA Sub-TLV Registry
Following initial values are allocated: Following initial values are allocated:
o 1 - SID/Label Sub-TLV o 1 - SID/Label Sub-TLV
o 2 - Adj-SID Sub-TLV o 2 - Adj-SID Sub-TLV
o 3 - LAN Adj-SID/Label Sub-TLV o 3 - LAN Adj-SID/Label Sub-TLV
8.5. SR-Algorithm Registry
IANA is requested to set up a registry called "SR-Algorithm Type".
The registration policy for this registry is "Standards Action"
([RFC8126] and [RFC7120]).
Values in this registry must come from the range 0-255.
The initial values in the SR-Algorithm Type registry are:
0: Shortest Path First (SPF) algorithm based on link metric. This
is the standard shortest path algorithm as computed by the IGP
protocol. Consistent with the deployed practice for link-state
protocols, Algorithm 0 permits any node to overwrite the SPF path
with a different path based on its local policy.
1: Strict Shortest Path First (SPF) algorithm based on link
metric. The algorithm is identical to Algorithm 0 but Algorithm 1
requires that all nodes along the path will honor the SPF routing
decision. Local policy at the node claiming support for Algorithm
1 MUST NOT alter the SPF paths computed by Algorithm 1.
9. Implementation Status 9. Implementation Status
An implementation survey with seven questions related to the An implementation survey with seven questions related to the
implementer's support of OSPFv2 Segment Routing was sent to the OSPF implementer's support of OSPFv2 Segment Routing was sent to the OSPF
WG list and several known implementers. This section contains WG list and several known implementers. This section contains
responses from three implementers who completed the survey. No responses from three implementers who completed the survey. No
external means were used to verify the accuracy of the information external means were used to verify the accuracy of the information
submitted by the respondents. The respondents are considered experts submitted by the respondents. The respondents are considered experts
on the products they reported on. Additionally, responses were on the products they reported on. Additionally, responses were
omitted from implementers who indicated that they have not omitted from implementers who indicated that they have not
skipping to change at page 25, line 5 skipping to change at page 25, line 29
apply to these segment routing extensions. While OSPF is under a apply to these segment routing extensions. While OSPF is under a
single administrative domain, there may be deployments where single administrative domain, there may be deployments where
potential attackers have access to one or more networks in the OSPF potential attackers have access to one or more networks in the OSPF
routing domain. In these deployments, stronger authentication routing domain. In these deployments, stronger authentication
mechanisms such as those specified in [RFC7474] SHOULD be used. mechanisms such as those specified in [RFC7474] SHOULD be used.
Implementations must assure that malformed TLV and Sub-TLV defined in Implementations must assure that malformed TLV and Sub-TLV defined in
this document are detected and do not provide a vulnerability for this document are detected and do not provide a vulnerability for
attackers to crash the OSPFv2 router or routing process. Reception attackers to crash the OSPFv2 router or routing process. Reception
of malformed TLV or Sub-TLV SHOULD be counted and/or logged for of malformed TLV or Sub-TLV SHOULD be counted and/or logged for
further analysis. further analysis. Logging of malformed TLVs and Sub-TLVs should be
rate-limited to prevent a Denial of Service (DoS) attack (distributed
or otherwise) from overloading the OSPF control plane.
11. Contributors 11. Contributors
The following people gave a substantial contribution to the content The following people gave a substantial contribution to the content
of this document: Acee Lindem, Ahmed Bashandy, Martin Horneffer, of this document: Acee Lindem, Ahmed Bashandy, Martin Horneffer,
Bruno Decraene, Stephane Litkowski, Igor Milojevic, Rob Shakir and Bruno Decraene, Stephane Litkowski, Igor Milojevic, Rob Shakir and
Saku Ytti. Saku Ytti.
12. Acknowledgements 12. Acknowledgements
skipping to change at page 25, line 22 skipping to change at page 26, line 4
Saku Ytti. Saku Ytti.
12. Acknowledgements 12. Acknowledgements
We would like to thank Anton Smirnov for his contribution. We would like to thank Anton Smirnov for his contribution.
Thanks to Acee Lindem for the detail review of the draft, Thanks to Acee Lindem for the detail review of the draft,
corrections, as well as discussion about details of the encoding. corrections, as well as discussion about details of the encoding.
13. References 13. References
13.1. Normative References 13.1. Normative References
[I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
and R. Shakir, "Segment Routing Architecture", draft-ietf-
spring-segment-routing-12 (work in progress), June 2017.
[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, <https://www.rfc- DOI 10.17487/RFC2119, March 1997,
editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007, RFC 4915, DOI 10.17487/RFC4915, June 2007,
<https://www.rfc-editor.org/info/rfc4915>. <https://www.rfc-editor.org/info/rfc4915>.
[RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast [RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast
and Point-to-Multipoint Interface Type", RFC 6845, and Point-to-Multipoint Interface Type", RFC 6845,
DOI 10.17487/RFC6845, January 2013, <https://www.rfc- DOI 10.17487/RFC6845, January 2013,
editor.org/info/rfc6845>. <https://www.rfc-editor.org/info/rfc6845>.
[RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code
Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January
2014, <https://www.rfc-editor.org/info/rfc7120>.
[RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W.,
Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute
Advertisement", RFC 7684, DOI 10.17487/RFC7684, November Advertisement", RFC 7684, DOI 10.17487/RFC7684, November
2015, <https://www.rfc-editor.org/info/rfc7684>. 2015, <https://www.rfc-editor.org/info/rfc7684>.
[RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
S. Shaffer, "Extensions to OSPF for Advertising Optional S. Shaffer, "Extensions to OSPF for Advertising Optional
Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
February 2016, <https://www.rfc-editor.org/info/rfc7770>. February 2016, <https://www.rfc-editor.org/info/rfc7770>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
13.2. Informative References 13.2. Informative References
[I-D.ietf-spring-conflict-resolution] [I-D.ietf-spring-conflict-resolution]
Ginsberg, L., Psenak, P., Previdi, S., and M. Pilka, Ginsberg, L., Psenak, P., Previdi, S., and M. Pilka,
"Segment Routing MPLS Conflict Resolution", draft-ietf- "Segment Routing MPLS Conflict Resolution", draft-ietf-
spring-conflict-resolution-05 (work in progress), July spring-conflict-resolution-05 (work in progress), July
2017. 2017.
[I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
and R. Shakir, "Segment Routing Architecture", draft-ietf-
spring-segment-routing-12 (work in progress), June 2017.
[I-D.ietf-spring-segment-routing-ldp-interop] [I-D.ietf-spring-segment-routing-ldp-interop]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and
S. Litkowski, "Segment Routing interworking with LDP", S. Litkowski, "Segment Routing interworking with LDP",
draft-ietf-spring-segment-routing-ldp-interop-08 (work in draft-ietf-spring-segment-routing-ldp-interop-09 (work in
progress), June 2017. progress), September 2017.
[I-D.ietf-spring-segment-routing-mpls] [I-D.ietf-spring-segment-routing-mpls]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing with MPLS Litkowski, S., and R. Shakir, "Segment Routing with MPLS
data plane", draft-ietf-spring-segment-routing-mpls-10 data plane", draft-ietf-spring-segment-routing-mpls-10
(work in progress), June 2017. (work in progress), June 2017.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998, <https://www.rfc- DOI 10.17487/RFC2328, April 1998,
editor.org/info/rfc2328>. <https://www.rfc-editor.org/info/rfc2328>.
[RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed.,
"Security Extension for OSPFv2 When Using Manual Key "Security Extension for OSPFv2 When Using Manual Key
Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, Management", RFC 7474, DOI 10.17487/RFC7474, April 2015,
<https://www.rfc-editor.org/info/rfc7474>. <https://www.rfc-editor.org/info/rfc7474>.
[RFC7855] Previdi, S., Ed., Filsfils, C., Ed., Decraene, B., [RFC7855] Previdi, S., Ed., Filsfils, C., Ed., Decraene, B.,
Litkowski, S., Horneffer, M., and R. Shakir, "Source Litkowski, S., Horneffer, M., and R. Shakir, "Source
Packet Routing in Networking (SPRING) Problem Statement Packet Routing in Networking (SPRING) Problem Statement
and Requirements", RFC 7855, DOI 10.17487/RFC7855, May and Requirements", RFC 7855, DOI 10.17487/RFC7855, May
 End of changes. 36 change blocks. 
40 lines changed or deleted 73 lines changed or added

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