draft-ietf-ospf-segment-routing-extensions-10.txt   draft-ietf-ospf-segment-routing-extensions-11.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: May 1, 2017 Cisco Systems, Inc. Expires: September 1, 2017 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
October 28, 2016 February 28, 2017
OSPF Extensions for Segment Routing OSPF Extensions for Segment Routing
draft-ietf-ospf-segment-routing-extensions-10 draft-ietf-ospf-segment-routing-extensions-11
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 2, line 4 skipping to change at page 2, line 4
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 http://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 1, 2017. This Internet-Draft will expire on September 1, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 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 (http://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
skipping to change at page 2, line 42 skipping to change at page 2, line 42
5. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 12 5. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 12
6. SID/Label Binding Sub-TLV . . . . . . . . . . . . . . . . . . 16 6. SID/Label Binding Sub-TLV . . . . . . . . . . . . . . . . . . 16
6.1. ERO Metric Sub-TLV . . . . . . . . . . . . . . . . . . . 18 6.1. ERO Metric Sub-TLV . . . . . . . . . . . . . . . . . . . 18
6.2. ERO Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 18 6.2. ERO Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 18
6.2.1. IPv4 ERO Sub-TLV . . . . . . . . . . . . . . . . . . 19 6.2.1. IPv4 ERO Sub-TLV . . . . . . . . . . . . . . . . . . 19
6.2.2. Unnumbered Interface ID ERO Sub-TLV . . . . . . . . . 19 6.2.2. Unnumbered Interface ID ERO Sub-TLV . . . . . . . . . 19
6.2.3. IPv4 Backup ERO Sub-TLV . . . . . . . . . . . . . . . 21 6.2.3. IPv4 Backup ERO Sub-TLV . . . . . . . . . . . . . . . 21
6.2.4. Unnumbered Interface ID Backup ERO Sub-TLV . . . . . 21 6.2.4. Unnumbered Interface ID Backup ERO Sub-TLV . . . . . 21
7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 23 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 23
7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 23 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 23
7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 24 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 25
8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 26 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 26
8.1. Intra-area Segment routing in OSPFv2 . . . . . . . . . . 26 8.1. Intra-area Segment routing in OSPFv2 . . . . . . . . . . 26
8.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 27 8.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 27
8.3. SID for External Prefixes . . . . . . . . . . . . . . . . 28 8.3. SID for External Prefixes . . . . . . . . . . . . . . . . 28
8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 28 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 29
8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 28 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 29
8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 28 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 29
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
9.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 29 9.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 29
9.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 29 9.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 30
9.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 29 9.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 30
9.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 30 9.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 30
10. Implementation Status . . . . . . . . . . . . . . . . . . . . 30 10. Implementation Status . . . . . . . . . . . . . . . . . . . . 30
11. Security Considerations . . . . . . . . . . . . . . . . . . . 31 11. Security Considerations . . . . . . . . . . . . . . . . . . . 32
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 31 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 32
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
14.1. Normative References . . . . . . . . . . . . . . . . . . 32 14.1. Normative References . . . . . . . . . . . . . . . . . . 32
14.2. Informative References . . . . . . . . . . . . . . . . . 33 14.2. Informative References . . . . . . . . . . . . . . . . . 33
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34
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
skipping to change at page 23, line 39 skipping to change at page 23, line 39
where: where:
Type: TBD, suggested value 2. Type: TBD, suggested value 2.
Length: Variable. Length: Variable.
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| | |B|V|L|G|P| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
B-Flag: Backup Flag. If set, the Adj-SID refers to an B-Flag: Backup Flag. If set, the Adj-SID refers to an
adjacency that is eligible for protection (e.g.: using IPFRR or adjacency that is eligible for protection (e.g.: using IPFRR or
MPLS-FRR) as described in section 3.5 of MPLS-FRR) as described in section 3.5 of
[I-D.ietf-spring-segment-routing]. [I-D.ietf-spring-segment-routing].
The V-Flag: Value/Index Flag. If set, then the Adj-SID carries The V-Flag: Value/Index Flag. If set, then the Adj-SID carries
skipping to change at page 24, line 14 skipping to change at page 24, line 14
The L-Flag: Local/Global Flag. If set, then the value/index The L-Flag: Local/Global Flag. If set, then the value/index
carried by the Adj-SID has local significance. If not set, carried by the Adj-SID has local significance. If not set,
then the value/index carried by this Sub-TLV has global then the value/index carried by this Sub-TLV has global
significance. significance.
The G-Flag: Group Flag. When set, the G-Flag indicates that The G-Flag: Group Flag. When set, the G-Flag indicates that
the Adj-SID refers to a group of adjacencies (and therefore MAY the Adj-SID refers to a group of adjacencies (and therefore MAY
be assigned to other adjacencies as well). be assigned to other adjacencies as well).
P-Flag. Persistent flag. When set, the P-Flag indicates that
the Adj-SID is persistently allocated, i.e., the Adj-SID value
remains consistent across router restart and/or interface flap.
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.
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].
SID/Index/Label: According to the V and L flags, it contains SID/Index/Label: According to the V and L flags, it contains
either: either:
skipping to change at page 24, line 36 skipping to change at page 24, line 40
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 section protection by an FRR mechanism (IP or MPLS) as described in section
3.5 of [I-D.ietf-spring-segment-routing]. 3.5 of [I-D.ietf-spring-segment-routing].
An SR capable router MAY allocate more than one Adj-SID to an
adjacency
An SR capable router MAY allocate the same Adj-SID to different
adjacencies
When the P-flag is not set, the Adj-SID MAY be persistent. When the
P-flag is set, the Adj-SID MUST be persistent.
7.2. LAN Adj-SID Sub-TLV 7.2. LAN Adj-SID Sub-TLV
LAN Adj-SID is an optional Sub-TLV of the Extended Link TLV defined LAN Adj-SID is an optional Sub-TLV of the Extended Link TLV defined
in [RFC7684]. It MAY appear multiple times in the Extended-Link TLV. in [RFC7684]. It MAY appear multiple times in the Extended-Link TLV.
It is used to advertise a SID/Label for an adjacency to a non-DR It is used to advertise a SID/Label for an adjacency to a non-DR
router on a broadcast, NBMA, or hybrid [RFC6845] network. router on a broadcast, NBMA, or hybrid [RFC6845] network.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 25, line 27 skipping to change at page 25, line 34
where: where:
Type: TBD, suggested value 3. Type: TBD, suggested value 3.
Length: Variable. Length: Variable.
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| | |B|V|L|G|P| |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
where: where:
B-Flag: Backup-flag. If set, the LAN-Adj-SID refers to an B-Flag: Backup-flag. If set, the LAN-Adj-SID refers to an
adjacency that is eligible for protection (e.g.: using IPFRR or adjacency that is eligible for protection (e.g.: using IPFRR or
MPLS-FRR) as described in section 3.5 of MPLS-FRR) as described in section 3.5 of
[I-D.ietf-spring-segment-routing]. [I-D.ietf-spring-segment-routing].
The V-Flag: Value/Index Flag. If set, then the Prefix-SID The V-Flag: Value/Index Flag. If set, then the Prefix-SID
skipping to change at page 25, line 50 skipping to change at page 26, line 9
The L-Flag: Local/Global Flag. If set, then the value/index The L-Flag: Local/Global Flag. If set, then the value/index
carried by the Prefix-SID has local significance. If not set, carried by the Prefix-SID has local significance. If not set,
then the value/index carried by this Sub-TLV has global then the value/index carried by this Sub-TLV has global
significance. significance.
The G-Flag: Group Flag. When set, the G-Flag indicates that The G-Flag: Group Flag. When set, the G-Flag indicates that
the LAN-Adj-SID refers to a group of adjacencies (and therefore the LAN-Adj-SID refers to a group of adjacencies (and therefore
MAY be assigned to other adjacencies as well). MAY be assigned to other adjacencies as well).
P-Flag. Persistent flag. When set, the P-Flag indicates that
the Adj-SID is persistently allocated, i.e., the Adj-SID value
remains consistent across router restart and/or interface flap.
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.
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].
Neighbor ID: The Router ID of the neighbor for which the LAN-Adj- Neighbor ID: The Router ID of the neighbor for which the LAN-Adj-
SID is advertised. SID is advertised.
SID/Index/Label: According to the V and L flags, it contains SID/Index/Label: According to the V and L flags, 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.
When the P-flag is not set, the Adj-SID MAY be persistent. When
the P-flag is set, the Adj-SID MUST be persistent.
8. Elements of Procedure 8. Elements of Procedure
8.1. Intra-area Segment routing in OSPFv2 8.1. Intra-area Segment routing in OSPFv2
An OSPFv2 router that supports segment routing MAY advertise Prefix- An OSPFv2 router that supports segment routing MAY advertise Prefix-
SIDs for any prefix to which it is advertising reachability (e.g., a SIDs for any prefix to which it is advertising reachability (e.g., a
loopback IP address as described in Section 5). loopback IP address as described in Section 5).
If multiple routers advertise a Prefix-SID for the same prefix, then If multiple routers advertise a Prefix-SID for the same prefix, then
the Prefix-SID MUST be the same. This is required in order to allow the Prefix-SID MUST be the same. This is required in order to allow
skipping to change at page 32, line 10 skipping to change at page 32, line 32
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.
13. Acknowledgements 13. Acknowledgements
We would like to thank Anton Smirnov for his contribution. We would like to thank Anton Smirnov for his contribution.
Many thanks to Yakov Rekhter, John Drake and Shraddha Hedge for their Many thanks to Yakov Rekhter, John Drake and Shraddha Hedge for their
contribution on earlier incarnations of the "Binding / MPLS Label contribution on earlier definition of the "Binding / MPLS Label TLV".
TLV" in [I-D.gredler-ospf-label-advertisement].
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.
14. References 14. References
14.1. Normative References 14.1. Normative References
[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,
skipping to change at page 33, line 38 skipping to change at page 34, line 13
progress), September 2014. progress), September 2014.
[I-D.filsfils-spring-segment-routing-use-cases] [I-D.filsfils-spring-segment-routing-use-cases]
Filsfils, C., Francois, P., Previdi, S., Decraene, B., Filsfils, C., Francois, P., Previdi, S., Decraene, B.,
Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E. Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E.
Crabbe, "Segment Routing Use Cases", draft-filsfils- Crabbe, "Segment Routing Use Cases", draft-filsfils-
spring-segment-routing-use-cases-01 (work in progress), spring-segment-routing-use-cases-01 (work in progress),
October 2014. October 2014.
[I-D.gredler-ospf-label-advertisement]
Gredler, H., Amante, S., Scholl, T., and L. Jalil,
"Advertising MPLS labels in OSPF", draft-gredler-ospf-
label-advertisement-03 (work in progress), May 2013.
[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 Conflict Resolution", draft-ietf-spring- "Segment Routing Conflict Resolution", draft-ietf-spring-
conflict-resolution-01 (work in progress), June 2016. conflict-resolution-01 (work in progress), June 2016.
[I-D.ietf-spring-segment-routing] [I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
Litkowski, S., Horneffer, M., Shakir, R., Tantsura, J., Litkowski, S., Horneffer, M., Shakir, R., Tantsura, J.,
and E. Crabbe, "Segment Routing Architecture", draft-ietf- and E. Crabbe, "Segment Routing Architecture", draft-ietf-
spring-segment-routing-00 (work in progress), December spring-segment-routing-00 (work in progress), December
 End of changes. 17 change blocks. 
22 lines changed or deleted 36 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/