< draft-ietf-spring-segment-routing-04.txt   draft-ietf-spring-segment-routing-05.txt >
Network Working Group C. Filsfils, Ed. Network Working Group C. Filsfils, Ed.
Internet-Draft S. Previdi, Ed. Internet-Draft S. Previdi, Ed.
Intended status: Standards Track Cisco Systems, Inc. Intended status: Standards Track Cisco Systems, Inc.
Expires: February 1, 2016 B. Decraene Expires: March 23, 2016 B. Decraene
S. Litkowski S. Litkowski
Orange Orange
R. Shakir R. Shakir
Individual Individual
July 31, 2015 September 20, 2015
Segment Routing Architecture Segment Routing Architecture
draft-ietf-spring-segment-routing-04 draft-ietf-spring-segment-routing-05
Abstract Abstract
Segment Routing (SR) leverages the source routing paradigm. A node Segment Routing (SR) leverages the source routing paradigm. A node
steers a packet through an ordered list of instructions, called steers a packet through an ordered list of instructions, called
segments. A segment can represent any instruction, topological or segments. A segment can represent any instruction, topological or
service-based. A segment can have a local semantic to an SR node or service-based. A segment can have a local semantic to an SR node or
global within an SR domain. SR allows to enforce a flow through any global within an SR domain. SR allows to enforce a flow through any
topological path and service chain while maintaining per-flow state topological path and service chain while maintaining per-flow state
only at the ingress node to the SR domain. only at the ingress node to the SR domain.
Segment Routing can be directly applied to the MPLS architecture with Segment Routing can be directly applied to the MPLS architecture with
no change on the forwarding plane. A segment is encoded as an MPLS no change on the forwarding plane. A segment is encoded as an MPLS
label. An ordered list of segments is encoded as a stack of labels. label. An ordered list of segments is encoded as a stack of labels.
The segment to process is on the top of the stack. Upon completion The segment to process is on the top of the stack. Upon completion
of a segment, the related label is popped from the stack. of a segment, the related label is popped from the stack.
Segment Routing can be applied to the IPv6 architecture, with a new Segment Routing can be applied to the IPv6 architecture, with a new
type of routing extension header. A segment is encoded as an IPv6 type of routing header. A segment is encoded as an IPv6 address. An
address. An ordered list of segments is encoded as an ordered list ordered list of segments is encoded as an ordered list of IPv6
of IPv6 addresses in the routing extension header. The segment to addresses in the routing header. The active segment is indicated by
process is indicated by a pointer in the routing extension header. the Destination Address of the packet. The next active segment is
Upon completion of a segment, the pointer is incremented. indicated by a pointer in the new routing header.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [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 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 February 1, 2016. This Internet-Draft will expire on March 23, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Companion Documents . . . . . . . . . . . . . . . . . . . 5 1.1. Companion Documents . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Link-State IGP Segments . . . . . . . . . . . . . . . . . . . 7 3. Link-State IGP Segments . . . . . . . . . . . . . . . . . . . 7
3.1. IGP Segment, IGP SID . . . . . . . . . . . . . . . . . . . 7 3.1. IGP Segment, IGP SID . . . . . . . . . . . . . . . . . . 7
3.2. IGP-Prefix Segment, Prefix-SID . . . . . . . . . . . . . . 7 3.2. IGP-Prefix Segment, Prefix-SID . . . . . . . . . . . . . 7
3.3. IGP-Node Segment, Node-SID . . . . . . . . . . . . . . . . 9 3.2.1. Prefix-SID Algorithm . . . . . . . . . . . . . . . . 7
3.4. IGP-Anycast Segment, Anycast SID . . . . . . . . . . . . . 9 3.2.2. MPLS Dataplane . . . . . . . . . . . . . . . . . . . 8
3.5. IGP-Adjacency Segment, Adj-SID . . . . . . . . . . . . . . 12 3.2.3. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . 9
3.5.1. Parallel Adjacencies . . . . . . . . . . . . . . . . . 13 3.3. IGP-Node Segment, Node-SID . . . . . . . . . . . . . . . 10
3.5.2. LAN Adjacency Segments . . . . . . . . . . . . . . . . 14 3.4. IGP-Anycast Segment, Anycast SID . . . . . . . . . . . . 10
3.6. Binding Segment . . . . . . . . . . . . . . . . . . . . . 14 3.5. IGP-Adjacency Segment, Adj-SID . . . . . . . . . . . . . 13
3.6.1. Mapping Server . . . . . . . . . . . . . . . . . . . . 14 3.5.1. Parallel Adjacencies . . . . . . . . . . . . . . . . 14
3.6.2. Tunnel Headend . . . . . . . . . . . . . . . . . . . . 15 3.5.2. LAN Adjacency Segments . . . . . . . . . . . . . . . 15
3.7. Inter-Area Considerations . . . . . . . . . . . . . . . . 15 3.6. Binding Segment . . . . . . . . . . . . . . . . . . . . . 16
4. BGP Peering Segments . . . . . . . . . . . . . . . . . . . . . 16 3.6.1. Mapping Server . . . . . . . . . . . . . . . . . . . 16
5. Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.6.2. Tunnel Headend . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 3.7. Inter-Area Considerations . . . . . . . . . . . . . . . . 16
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 4. BGP Peering Segments . . . . . . . . . . . . . . . . . . . . 17
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 17 5. IGP Mirroring Context Segment . . . . . . . . . . . . . . . 18
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18 6. Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
10.1. Normative References . . . . . . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19
10.2. Informative References . . . . . . . . . . . . . . . . . . 18 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
11.1. Normative References . . . . . . . . . . . . . . . . . . 20
11.2. Informative References . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
With Segment Routing (SR), a node steers a packet through an ordered With Segment Routing (SR), a node steers a packet through an ordered
list of instructions, called segments. A segment can represent any list of instructions, called segments. A segment can represent any
instruction, topological or service-based. A segment can have a instruction, topological or service-based. A segment can have a
local semantic to an SR node or global within an SR domain. SR local semantic to an SR node or global within an SR domain. SR
allows to enforce a flow through any path and service chain while allows to enforce a flow through any path and service chain while
maintaining per-flow state only at the ingress node of the SR domain. maintaining per-flow state only at the ingress node of the SR domain.
skipping to change at page 4, line 34 skipping to change at page 3, line 44
o an IGP segment, o an IGP segment,
o a BGP Peering segments, o a BGP Peering segments,
o an LDP LSP segment, o an LDP LSP segment,
o an RSVP-TE LSP segment, o an RSVP-TE LSP segment,
o a BGP LSP segment. o a BGP LSP segment.
The first two (IGP and BGP Peering segments) types of segments The first two (IGP and BGP Peering segments) types of segments are
defined in this document. The use of the last three types of defined in this document. The use of the last three types of
segments is illustrated in [I-D.ietf-spring-segment-routing-mpls]. segments is illustrated in [I-D.ietf-spring-segment-routing-mpls].
Segment Routing can be applied to the IPv6 architecture (RFC2460), Segment Routing can be applied to the IPv6 architecture (RFC2460),
with a new type of routing extension header. A segment is encoded as with a new type of routing header. A segment is encoded as an IPv6
an IPv6 address. An ordered list of segments is encoded as an address. An ordered list of segments is encoded as an ordered list
ordered list of IPv6 addresses in the routing extension header. The of IPv6 addresses in the routing header. The active segment is
active segment is indicated by a pointer in the routing extension indicated by the Destination Address of the packet. Upon completion
header. Upon completion of a segment, the pointer is incremented. A of a segment, a pointer in the new routing header is incremented and
segment can be inserted in the list and the pointer is updated indicates the next segment.
accordingly.
Numerous use-cases illustrate the benefits of source routing either Numerous use-cases illustrate the benefits of source routing either
for FRR, OAM or Traffic Engineering reasons. for FRR, OAM or Traffic Engineering reasons.
This document defines a set of instructions (called segments) that This document defines a set of instructions (called segments) that
are required to fulfill the described use-cases. These segments can are required to fulfill the described use-cases. These segments can
either be used in isolation (one single segment defines the source either be used in isolation (one single segment defines the source
route of the packet) or in combination (these segments are part of an route of the packet) or in combination (these segments are part of an
ordered list of segments that define the source route of the packet). ordered list of segments that define the source route of the packet).
1.1. Companion Documents 1.1. Companion Documents
This document defines the SR architecture, its routing model, the This document defines the SR architecture, its routing model, the
IGP-based segments, the BGP-based segments and the service segments. IGP-based segments, the BGP-based segments and the service segments.
Use cases are described in [I-D.ietf-spring-problem-statement], Use cases are described in [I-D.ietf-spring-problem-statement],
[I-D.filsfils-spring-segment-routing-central-epe], [I-D.filsfils-spring-segment-routing-central-epe],
[I-D.filsfils-spring-segment-routing-msdc], [I-D.filsfils-spring-segment-routing-msdc],
[I-D.filsfils-spring-large-scale-interconnect],
[I-D.ietf-spring-ipv6-use-cases], [I-D.ietf-spring-ipv6-use-cases],
[I-D.ietf-spring-resiliency-use-cases], [I-D.geib-spring-oam-usecase] [I-D.ietf-spring-resiliency-use-cases], [I-D.geib-spring-oam-usecase]
and [I-D.kumar-spring-sr-oam-requirement]. and [I-D.ietf-spring-sr-oam-requirement].
Segment Routing for MPLS dataplane is documented in Segment Routing for MPLS dataplane is documented in
[I-D.ietf-spring-segment-routing-mpls]. [I-D.ietf-spring-segment-routing-mpls].
Segment Routing for IPv6 dataplane is documented in Segment Routing for IPv6 dataplane is documented in
[I-D.previdi-6man-segment-routing-header]. [I-D.previdi-6man-segment-routing-header].
IGP protocol extensions for Segment Routing are described in IGP protocol extensions for Segment Routing are described in
[I-D.ietf-isis-segment-routing-extensions], [I-D.ietf-isis-segment-routing-extensions],
[I-D.ietf-ospf-segment-routing-extensions] and [I-D.ietf-ospf-segment-routing-extensions] and
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] referred in this [I-D.ietf-ospf-ospfv3-segment-routing-extensions] referred in this
document as "IGP SR extensions documents". document as "IGP SR extensions documents".
The FRR solution for SR is documented in The FRR solution for SR is documented in
[I-D.francois-spring-segment-routing-ti-lfa]. [I-D.francois-rtgwg-segment-routing-ti-lfa].
The PCEP protocol extensions for Segment Routing are defined in The PCEP protocol extensions for Segment Routing are defined in
[I-D.ietf-pce-segment-routing]. [I-D.ietf-pce-segment-routing].
The interaction between SR/MPLS with other MPLS Signaling planes is The interaction between SR/MPLS with other MPLS Signaling planes is
documented in [I-D.filsfils-spring-segment-routing-ldp-interop]. documented in [I-D.filsfils-spring-segment-routing-ldp-interop].
2. Terminology 2. Terminology
Segment: an instruction a node executes on the incoming packet (e.g.: Segment: an instruction a node executes on the incoming packet (e.g.:
forward packet according to shortest path to destination, or, forward forward packet according to shortest path to destination, or, forward
packet through a specific interface, or, deliver the packet to a packet through a specific interface, or, deliver the packet to a
given application/service instance). given application/service instance).
SID: a Segment Identifier SID: a Segment Identifier. Examples of SIDs are: a MPLS label, an
index value in a MPLS label space, an IPv6 address. Other types of
SIDs can be defined in the future.
Segment List: ordered list of SID's encoding the topological and Segment List: ordered list of SID's encoding the topological and
service source route of the packet. It is a stack of labels in the service source route of the packet. It is a stack of labels in the
MPLS architecture. It is an ordered list of IPv6 addresses in the MPLS architecture. It is an ordered list of IPv6 addresses in the
IPv6 architecture. IPv6 architecture.
Active segment: the segment that MUST be used by the receiving router Active segment: the segment that MUST be used by the receiving router
to process the packet. It is identified by a pointer in the IPv6 to process the packet. In the MPLS dataplane is the top label. In
architecture. It is the top label in the MPLS architecture. the IPv6 dataplane is the destination address of a packet having the
Segment Routing Header as defined in
[I-D.previdi-6man-segment-routing-header].
PUSH: the insertion of a segment at the head of the Segment list. PUSH: the insertion of a segment at the head of the Segment list.
NEXT: the active segment is completed, the next segment becomes NEXT: the active segment is completed, the next segment becomes
active. active.
CONTINUE: the active segment is not completed and hence remains CONTINUE: the active segment is not completed and hence remains
active. The CONTINUE instruction is implemented as the SWAP active. The CONTINUE instruction is implemented as the SWAP
instruction in the MPLS dataplane. instruction in the MPLS dataplane. In IPv6, this is the plain IPv6
forwarding action of a regular IPv6 packet according to its
Destination Address.
SR Global Block (SRGB): local property of an SR node. In the MPLS SR Global Block (SRGB): local property of an SR node. In the MPLS
architecture, SRGB is the set of local labels reserved for global architecture, SRGB is the set of local labels reserved for global
segments. In the IPv6 architecture, it is the set of locally segments. Using the same SRGB on all nodes within the SR domain ease
relevant IPv6 addresses. Using the same SRGB on all nodes within the operations and troubleshooting and is expected to be a deployment
SR domain ease operations and troubleshooting and is expected to be a guideline. In the IPv6 architecture, the equivalent of the SRGB is
deployment guideline. in fact the set of addresses used as global segments. Since there
are no restrictions on which IPv6 address can be used, the concept of
the SRGB includes all IPv6 global address space used within the SR
domain.
Global Segment: the related instruction is supported by all the SR- Global Segment: the related instruction is supported by all the SR-
capable nodes in the domain. In the MPLS architecture, a Global capable nodes in the domain. In the MPLS architecture, a Global
Segment has a globally-unique index. The related local label at a Segment has a globally-unique index. The related local label at a
given node N is found by adding the globally-unique index to the SRGB given node N is found by adding the globally-unique index to the SRGB
of node N. In the IPv6 architecture, a global segment is a globally- of node N. In the IPv6 architecture, a global segment is a globally-
unique IPv6 address. unique IPv6 address.
Local Segment: the related instruction is supported only by the node Local Segment: the related instruction is supported only by the node
originating it. In the MPLS architecture, this is a local label originating it. In the MPLS architecture, this is a local label
outside the SRGB. In the IPv6 architecture, this is a link-local outside the SRGB. In the IPv6 architecture, this can be any IPv6
address. address whose reachability is not advertised in any routing protocol
(hence, the segment is known only by the local node).
IGP Segment: the generic name for a segment attached to a piece of IGP Segment: the generic name for a segment attached to a piece of
information advertised by a link-state IGP, e.g. an IGP prefix or an information advertised by a link-state IGP, e.g. an IGP prefix or an
IGP adjacency. IGP adjacency.
IGP-prefix Segment, Prefix-SID: an IGP-Prefix Segment is an IGP IGP-prefix Segment, Prefix-SID: an IGP-Prefix Segment is an IGP
segment attached to an IGP prefix. An IGP-Prefix Segment is always segment attached to an IGP prefix. An IGP-Prefix Segment is global
global within the SR/IGP domain and identifies an instruction to (unless explicitly advertised otherwise) within the SR IGP instance/
forward the packet over the ECMP-aware shortest-path computed by the topology and identifies an instruction to forward the packet along
IGP to the related prefix. The Prefix-SID is the SID of the IGP- the path computed using the algorithm field, in the topology and the
Prefix Segment. IGP instance where it is advertised. The Prefix-SID is the SID of
the IGP-Prefix Segment.
IGP-Anycast: an IGP-Anycast Segment is an IGP-prefix segment which IGP-Anycast: an IGP-Anycast Segment is an IGP-prefix segment which
does not identify a specific router, but a set of routers. The terms does not identify a specific router, but a set of routers. The terms
"Anycast Segment" or "Anycast-SID" are often used as an abbreviation. "Anycast Segment" or "Anycast-SID" are often used as an abbreviation.
IGP-Adjacency: an IGP-Adjacency Segment is an IGP segment attached to IGP-Adjacency: an IGP-Adjacency Segment is an IGP segment attached to
an unidirectional adjacency or a set of unidirectional adjacencies. an unidirectional adjacency or a set of unidirectional adjacencies.
By default, an IGP-Adjacency Segment is local (unless explicitly By default, an IGP-Adjacency Segment is local (unless explicitly
advertised otherwise) to the node that advertises it. advertised otherwise) to the node that advertises it.
skipping to change at page 7, line 27 skipping to change at page 6, line 50
implicitly via a set of abstract constraints (latency, affinity, implicitly via a set of abstract constraints (latency, affinity,
SRLG, ...). In the latter case, a constraint-based path computation SRLG, ...). In the latter case, a constraint-based path computation
is used to determine the list of segments associated with the tunnel. is used to determine the list of segments associated with the tunnel.
The computation can be local or delegated to a PCE server. An SR The computation can be local or delegated to a PCE server. An SR
tunnel can be configured by the operator, provisioned via netconf or tunnel can be configured by the operator, provisioned via netconf or
provisioned via PCEP. An SR tunnel can be used for traffic- provisioned via PCEP. An SR tunnel can be used for traffic-
engineering, OAM or FRR reasons. engineering, OAM or FRR reasons.
Segment List Depth: the number of segments of an SR tunnel. The Segment List Depth: the number of segments of an SR tunnel. The
entity instantiating an SR Tunnel at a node N should be able to entity instantiating an SR Tunnel at a node N should be able to
discover the depth insertion capability of the node N. The PCEP discover the depth insertion capability of the node N. The PCEP
discovery capability is described in [I-D.ietf-pce-segment-routing]. discovery capability is described in [I-D.ietf-pce-segment-routing].
3. Link-State IGP Segments 3. Link-State IGP Segments
Within a link-state IGP domain, an SR-capable IGP node advertises Within a link-state IGP domain, an SR-capable IGP node advertises
segments for its attached prefixes and adjacencies. These segments segments for its attached prefixes and adjacencies. These segments
are called IGP segments or IGP SIDs. They play a key role in Segment are called IGP segments or IGP SIDs. They play a key role in Segment
Routing and use-cases as they enable the expression of any Routing and use-cases as they enable the expression of any
topological path throughout the IGP domain. Such a topological path topological path throughout the IGP domain. Such a topological path
is either expressed as a single IGP segment or a list of multiple IGP is either expressed as a single IGP segment or a list of multiple IGP
skipping to change at page 7, line 49 skipping to change at page 7, line 24
3.1. IGP Segment, IGP SID 3.1. IGP Segment, IGP SID
The terms "IGP Segment" and "IGP SID" are the generic names for a The terms "IGP Segment" and "IGP SID" are the generic names for a
segment attached to a piece of information advertised by a link-state segment attached to a piece of information advertised by a link-state
IGP, e.g. an IGP prefix or an IGP adjacency. IGP, e.g. an IGP prefix or an IGP adjacency.
3.2. IGP-Prefix Segment, Prefix-SID 3.2. IGP-Prefix Segment, Prefix-SID
An IGP-Prefix Segment is an IGP segment attached to an IGP prefix. An IGP-Prefix Segment is an IGP segment attached to an IGP prefix.
An IGP-Prefix Segment is always global within the SR/IGP domain and An IGP-Prefix Segment is global (unless explicitly advertised
identifies the ECMP-aware shortest-path computed by the IGP to the otherwise) within the SR/IGP domain.
related prefix. The Prefix-SID is the SID of the IGP-Prefix Segment.
The required IGP protocol extensions are defined in IGP SR extensions
documents.
3.2.1. Prefix-SID Algorithm
The IGP protocol extensions for Segment Routing define the Prefix-SID
advertisement which includes a set of flags and the algorithm field.
The algorithm field has the purpose of associating a given Prefix-SID
to a routing algorithm.
In the context of an instance and a topology, multiple Prefix-SID's
MAY be allocated to the same IGP Prefix as long as the algorithm
value is different in each one.
Multiple instances and topologies are defined in IS-IS and OSPF in:
[RFC5120], [RFC6822], [RFC6549] and [RFC4915].
Initially, two "algorithms" have been defined:
o "Shortest Path": this algorithm is the default behavior. The
packet is forwarded along the well known ECMP-aware SPF algorithm
however it is explicitly allowed for a midpoint to implement
another forwarding based on local policy.. The "Shortest Path"
algorithm is in fact the default and current behavior of most of
the networks where local policies may override the SPF decision.
o "Strict Shortest Path": This algorithm mandates that the packet is
forwarded according to ECMP-aware SPF algorithm and instruct any
router in the path to ignore any possible local policy overriding
SPF decision. The SID advertised with "Strict Shortest Path"
algorithm ensures that the path the packet is going to take is the
expected, and not altered, SPF path.
An IGP-Prefix Segment identifies the path, to the related prefix,
along the path computed as per the algorithm field.
A packet injected anywhere within the SR/IGP domain with an active A packet injected anywhere within the SR/IGP domain with an active
Prefix-SID will be forwarded along the shortest-path to that prefix. Prefix-SID will be forwarded along path computed by the algorithm
expressed in the algorithm field.
The IGP signaling extension for IGP-Prefix segment includes a set of The ingress node of an SR domain validates that the path to a prefix,
flags. The encoding details of the Prefix-SID and its flags are advertised with a given algorithm, includes nodes all supporting the
described in IGP SR extensions documents. advertised algorithm. In other words, when computing paths for a
given algorithm, the transit nodes MUST compute the algorithm X on
the IGP topology, regardless of the support of the algorithm X by the
nodes in that topology. As a consequence, if a node on the path does
not support algorithm X, the IGP-Prefix segment will be interrupted
and will drop packet on that node. It's the responsibility of the
ingress node using a segment to check that all downstream nodes
support the algorithm of the segment.
The IGP signaling extension for IGP-Prefix segment includes the Details of the two defined algorithms are defined in
P-Flag. A Node N advertising a Prefix-SID SID-R for its attached [I-D.ietf-isis-segment-routing-extensions],
prefix R resets the P-Flag to allow its connected neighbors to [I-D.ietf-ospf-segment-routing-extensions] and
perform the NEXT operation while processing SID-R. This behavior is [I-D.ietf-ospf-ospfv3-segment-routing-extensions].
equivalent to Penultimate Hop Popping in MPLS. When set, the
neighbors of N must perform the CONTINUE operation while processing
SID-R.
While SR allows to attach a local segment to an IGP prefix (using the 3.2.2. MPLS Dataplane
L-Flag), we specifically assume that when the terms "IGP-Prefix
Segment" and "Prefix-SID" are used, the segment is global (the SID is
allocated from the SRGB). This is consistent with all the described
use-cases that require global segments attached to IGP prefixes.
A single Prefix-SID is allocated to an IGP Prefix in a topology. When SR is used over the MPLS dataplane:
In the context of multiple topologies, multiple Prefix-SID's MAY be o the IGP signaling extension for IGP-Prefix segment includes the
allocated to the same IGP Prefix (e.g.: using the "algorithm" field P-Flag. A Node N advertising a Prefix-SID SID-R for its attached
in the IGP advertisement as described in IGP SR extensions prefix R resets the P-Flag to allow its connected neighbors to
documents). However, each prefix-SID MUST be associated with only perform the NEXT operation while processing SID-R. This behavior
one topology. In other words: a prefix, within a topology, MUST have is equivalent to Penultimate Hop Popping in MPLS. When set, the
only a single Prefix-SID. neighbors of N must perform the CONTINUE operation while
processing SID-R.
A Prefix-SID is allocated from the SRGB according to a process o A Prefix-SID is allocated in the form of an index in the SRGB (or
similar to IP address allocation. Typically the Prefix-SID is as a local MPLS label) according to a process similar to IP
allocated by policy by the operator (or NMS) and the SID very rarely address allocation. Typically the Prefix-SID is allocated by
changes. policy by the operator (or NMS) and the SID very rarely changes.
The allocation process MUST NOT allocate the same Prefix-SID to o While SR allows to attach a local segment to an IGP prefix (using
different IP prefixes. the L-Flag), we specifically assume that when the terms "IGP-
Prefix Segment" and "Prefix-SID" are used, the segment is global
(the SID is allocated from the SRGB or as an index). This is
consistent with all the described use-cases that require global
segments attached to IGP prefixes.
If a node learns a Prefix-SID having a value that falls outside the o The allocation process MUST NOT allocate the same Prefix-SID to
locally configured SRGB range, then the node MUST NOT use the Prefix- different IP prefixes.
SID and SHOULD issue an error log warning for misconfiguration.
The required IGP protocol extensions are defined in IGP SR extensions o If a node learns a Prefix-SID having a value that falls outside
documents. the locally configured SRGB range, then the node MUST NOT use the
Prefix-SID and SHOULD issue an error log warning for
misconfiguration.
o A node N attaching a Prefix-SID SID-R to its attached prefix R
MUST maintain the following FIB entry:
A node N attaching a Prefix-SID SID-R to its attached prefix R MUST
maintain the following FIB entry:
Incoming Active Segment: SID-R Incoming Active Segment: SID-R
Ingress Operation: NEXT Ingress Operation: NEXT
Egress interface: NULL Egress interface: NULL
A remote node M MUST maintain the following FIB entry for any learned o A remote node M MUST maintain the following FIB entry for any
Prefix-SID SID-R attached to IP prefix R: learned Prefix-SID SID-R attached to IP prefix R:
Incoming Active Segment: SID-R
Ingress Operation: Incoming Active Segment: SID-R
If the next-hop of R is the originator of R Ingress Operation:
and instructed to remove the active segment: NEXT If the next-hop of R is the originator of R
Else: CONTINUE and instructed to remove the active segment: NEXT
Egress interface: the interface towards the next-hop along Else: CONTINUE
the shortest-path to prefix R. Egress interface: the interface towards the next-hop along the
path computed using the algorithm advertised with
the SID toward prefix R.
3.2.3. IPv6 Dataplane
When SR is used over the IPv6 dataplane:
o The Prefix-SID is the prefix itself. No additional identifier is
needed for Segment Routing over IPv6.
o Any address belonging to any of the node's prefixes can be used as
Prefix-SIDs.
o An operator may want to explicitly indicate which of the node's
prefixes can be used as Prefix-SIDs through the setting of a flag
(e.g.: using the IGP prefix attribute defined in
[I-D.ietf-isis-prefix-attributes]) in the routing protocol used
for advertising the prefix.
o A global SID is instantiated through any globally advertised IPv6
address.
o A local SID is instantiated through a local IPv6 prefix not being
advertised and therefore known only by the local node.
A node N advertising an IPv6 address R usable as a segment identifier
MUST maintain the following FIB entry:
Incoming Active Segment: R
Ingress Operation: NEXT
Egress interface: NULL
Regardless Segment Routing, any remote IPv6 node will maintain a
plain IPv6 FIB entry for any prefix, no matter if they represent a
segment or not.
3.3. IGP-Node Segment, Node-SID 3.3. IGP-Node Segment, Node-SID
An IGP-Node Segment is a an IGP-Prefix Segment which identifies a An IGP Node Segment is a an IGP Prefix Segment which identifies a
specific router (e.g. a loopback). The N flag is set. The terms specific router (e.g. a loopback). The terms "Node Segment" or
"Node Segment" or "Node-SID" are often used as an abbreviation. "Node-SID" are often used as an abbreviation. The IGP SR extensions
define a flag that identifies Node-SIDs.
A "Node Segment" or "Node-SID" is fundamental to SR. From anywhere A "Node Segment" or "Node-SID" is fundamental to SR. From anywhere
in the network, it enforces the ECMP-aware shortest-path forwarding in the network, it enforces the ECMP-aware shortest-path forwarding
of the packet towards the related node. of the packet towards the related node.
An IGP-Node-SID MUST NOT be associated with a prefix that is owned or An IGP Node-SID MUST NOT be associated with a prefix that is owned by
advertised by more than one router within the same routing domain. more than one router within the same routing domain.
3.4. IGP-Anycast Segment, Anycast SID 3.4. IGP-Anycast Segment, Anycast SID
An IGP-Anycast Segment is an IGP-prefix segment which does not An IGP-Anycast Segment is an IGP-prefix segment which does not
identify a specific router, but a set of routers. The terms "Anycast identify a specific router, but a set of routers. The terms "Anycast
Segment" or "Anycast-SID" are often used as an abbreviation. Segment" or "Anycast-SID" are often used as an abbreviation.
An "Anycast Segment" or "Anycast SID" enforces the ECMP-aware An "Anycast Segment" or "Anycast SID" enforces the ECMP-aware
shortest-path forwarding towards the closest node of the anycast set. shortest-path forwarding towards the closest node of the anycast set.
This is useful to express macro-engineering policies or protection This is useful to express macro-engineering policies or protection
skipping to change at page 12, line 23 skipping to change at page 13, line 28
An IGP-Adjacency Segment is an IGP segment attached to a An IGP-Adjacency Segment is an IGP segment attached to a
unidirectional adjacency or a set of unidirectional adjacencies. By unidirectional adjacency or a set of unidirectional adjacencies. By
default, an IGP-Adjacency Segment is local to the node which default, an IGP-Adjacency Segment is local to the node which
advertises it. However, an Adjacency Segment can be global if advertises it. However, an Adjacency Segment can be global if
advertised by the IGP as such. The SID of the IGP-Adjacency Segment advertised by the IGP as such. The SID of the IGP-Adjacency Segment
is called the Adj-SID. is called the Adj-SID.
The adjacency is formed by the local node (i.e., the node advertising The adjacency is formed by the local node (i.e., the node advertising
the adjacency in the IGP) and the remote node (i.e., the other end of the adjacency in the IGP) and the remote node (i.e., the other end of
the adjacency). The local node MUST be an IGP node. The remote node the adjacency). The local node MUST be an IGP node. The remote node
MAY be an adjacent IGP neighbor) or a non-adjacent neighbor (e.g.: a MAY be an adjacent IGP neighbor or a non-adjacent neighbor (e.g.: a
Forwarding Adjacency, [RFC4206]). Forwarding Adjacency, [RFC4206]).
A packet injected anywhere within the SR domain with a segment list A packet injected anywhere within the SR domain with a segment list
{SN, SNL}, where SN is the Node-SID of node N and SNL is an Adj-SID {SN, SNL}, where SN is the Node-SID of node N and SNL is an Adj-SID
attached by node N to its adjacency over link L, will be forwarded attached by node N to its adjacency over link L, will be forwarded
along the shortest-path to N and then be switched by N, without any along the shortest-path to N and then be switched by N, without any
IP shortest-path consideration, towards link L. If the Adj-SID IP shortest-path consideration, towards link L. If the Adj-SID
identifies a set of adjacencies, then the node N load- balances the identifies a set of adjacencies, then the node N load- balances the
traffic among the various members of the set. traffic among the various members of the set.
Similarly, when using a global Adj-SID, a packet injected anywhere Similarly, when using a global Adj-SID, a packet injected anywhere
within the SR domain with a segment list {SNL}, where SNL is a global within the SR domain with a segment list {SNL}, where SNL is a global
Adj-SID attached by node N to its adjacency over link L, will be Adj-SID attached by node N to its adjacency over link L, will be
forwarded along the shortest-path to N and then be switched by N, forwarded along the shortest-path to N and then be switched by N,
without any IP shortest-path consideration, towards link L. If the without any IP shortest-path consideration, towards link L. If the
Adj-SID identifies a set of adjacencies, then the node N load- Adj-SID identifies a set of adjacencies, then the node N load-
balances the traffic among the various members of the set. The use balances the traffic among the various members of the set. The use
of global Adj-SID allows to reduce the size of the segment list when of global Adj-SID allows to reduce the size of the segment list when
expressing a path at the cost of additional state (i.e.: the global expressing a path at the cost of additional state (i.e.: the global
Adj-SID will be inserted by all routers within the area in their Adj-SID will be inserted by all routers within the area in their
forwarding table). forwarding table).
An "IGP Adjacency Segment" or "Adj-SID" enforces the switching of the An "IGP Adjacency Segment" or "Adj-SID" enforces the switching of the
packet from a node towards a defined interface or set of interfaces. packet from a node towards a defined interface or set of interfaces.
This is key to theoretically prove that any path can be expressed as This is key to theoretically prove that any path can be expressed as
a list of segments. a list of segments.
The encodings of the Adj-SID include the B-flag. When set, the Adj- The encodings of the Adj-SID include the B-flag. When set, the Adj-
SID benefits from a local protection. SID refers to an adjacency that is eligible for protection (e.g.:
using IPFRR or MPLS-FRR).
The encodings of the Adj-SID include the L-flag. When set, the Adj- The encodings of the Adj-SID include the L-flag. When set, the Adj-
SID has local significance. By default the L-flag is set. SID has local significance. By default the L-flag is set.
A node SHOULD allocate one Adj-SIDs for each of its adjacencies. A node SHOULD allocate one Adj-SIDs for each of its adjacencies.
A node MAY allocate multiple Adj-SIDs to the same adjacency. An A node MAY allocate multiple Adj-SIDs to the same adjacency. An
example is where the adjacency is established over a bundle example is where the adjacency is established over a bundle
interface. Each bundle member MAY have its own Adj-SID. interface. Each bundle member MAY have its own Adj-SID.
skipping to change at page 13, line 37 skipping to change at page 14, line 46
regardless its IGP/SPF cost. In other words, the use of Adjacency regardless its IGP/SPF cost. In other words, the use of Adjacency
Segments overrides the routing decision made by SPF algorithm. Segments overrides the routing decision made by SPF algorithm.
3.5.1. Parallel Adjacencies 3.5.1. Parallel Adjacencies
Adj-SIDs can be used in order to represent a set of parallel Adj-SIDs can be used in order to represent a set of parallel
interfaces between two adjacent routers. interfaces between two adjacent routers.
A node MUST install a FIB entry for any locally originated Adjacency A node MUST install a FIB entry for any locally originated Adjacency
Segment (Adj-SID) of value W attached to a set of link B with: Segment (Adj-SID) of value W attached to a set of link B with:
Incoming Active Segment: W Incoming Active Segment: W
Ingress Operation: NEXT Ingress Operation: NEXT
Egress interface: loadbalance between any data-link within set B Egress interface: loadbalance between any data-link within set B
When parallel adjacencies are used and associated to the same Adj- When parallel adjacencies are used and associated to the same Adj-
SID, and in order to optimize the load balancing function, a "weight" SID, and in order to optimize the load balancing function, a "weight"
factor can be associated to the Adj-SID advertised with each factor can be associated to the Adj-SID advertised with each
adjacency. The weight tells the ingress (or a SDN/orchestration adjacency. The weight tells the ingress (or a SDN/orchestration
system) about the loadbalancing factor over the parallel adjacencies. system) about the loadbalancing factor over the parallel adjacencies.
As shown in Figure 1, A and B are connected through two parallel As shown in Figure 1, A and B are connected through two parallel
adjacencies adjacencies
link-1
+--------+ link-1
| | +--------+
S---A B---C | |
| | S---A B---C
+--------+ | |
link-2 +--------+
link-2
Figure 1: Parallel Links and Adj-SIDs Figure 1: Parallel Links and Adj-SIDs
Node A advertises following Adj-SIDs and weights: Node A advertises following Adj-SIDs and weights:
o Link-1: Adj-SID 1000, weight: 1 o Link-1: Adj-SID 1000, weight: 1
o Link-2: Adj-SID 1000, weight: 2 o Link-2: Adj-SID 1000, weight: 2
Node S receives the advertisements of the parallel adjacencies and Node S receives the advertisements of the parallel adjacencies and
skipping to change at page 15, line 14 skipping to change at page 16, line 24
The segment allocation and SRGB Maintenance rules are the same as The segment allocation and SRGB Maintenance rules are the same as
those defined for Prefix-SID. those defined for Prefix-SID.
3.6.2. Tunnel Headend 3.6.2. Tunnel Headend
The segment allocation and SRGB Maintenance rules are the same as The segment allocation and SRGB Maintenance rules are the same as
those defined for Adj-SID. A tunnel attached to a head-end H acts as those defined for Adj-SID. A tunnel attached to a head-end H acts as
an adjacency attached to H. an adjacency attached to H.
Note: an alternative would consist in representing tunnels as Note: an alternative consists of representing tunnels as forwarding-
forwarding-adjacencies ( [RFC4206]). In such case, the tunnel is adjacencies ( [RFC4206]). In such case, the tunnel is presented to
presented to the routing area as a routing adjacency and will be the routing area as a routing adjacency and is considered as such by
considered as such by all area routers. The Remote-Binding SID is all area routers. The Remote-Binding SID is preferred as it allows
preferred as it allows to advertise the presence of a tunnel without to advertise the presence of a tunnel without influencing the LSDB
influencing the LSDB and the SPF computation. and the SPF computation.
3.7. Inter-Area Considerations 3.7. Inter-Area Considerations
In the following example diagram we assume an IGP deployed using In the following example diagram we assume an IGP deployed using
areas and where SR has been deployed. areas and where SR has been deployed.
! ! ! !
! ! ! !
B------C-----F----G-----K B------C-----F----G-----K
/ | | | / | | |
S---A/ | | | S---A/ | | |
\ | | | \ | | |
\D------I----------J-----L----Z (192.0.2.1/32, Node-SID: 150) \D------I----------J-----L----Z (192.0.2.1/32, Node-SID: 150)
! ! ! !
Area-1 ! Backbone ! Area 2 Area-1 ! Backbone ! Area 2
! area ! ! area !
Figure 2: Inter-Area Topology Example Figure 2: Inter-Area Topology Example
In area 2, node Z allocates Node-SID 150 to his local prefix In area 2, node Z allocates Node-SID 150 to his local prefix
192.0.2.1/32. ABRs G and J will propagate the prefix into the 192.0.2.1/32. ABRs G and J will propagate the prefix into the
backbone area by creating a new instance of the prefix according to backbone area by creating a new instance of the prefix according to
normal inter-area/level IGP propagation rules. normal inter-area/level IGP propagation rules.
Nodes C and I will apply the same behavior when leaking prefixes from Nodes C and I will apply the same behavior when leaking prefixes from
the backbone area down to area 1. Therefore, node S will see prefix the backbone area down to area 1. Therefore, node S will see prefix
skipping to change at page 17, line 17 skipping to change at page 18, line 25
* Next-Hop: loadbalance across any connected interface to any * Next-Hop: loadbalance across any connected interface to any
peer in the related group. peer in the related group.
A peer set could be all the connected peers from the same AS or a A peer set could be all the connected peers from the same AS or a
subset of these. A group could also span across AS. The group subset of these. A group could also span across AS. The group
definition is a policy set by the operator. definition is a policy set by the operator.
The BGP extensions necessary in order to signal these BGP peering The BGP extensions necessary in order to signal these BGP peering
segments will be defined in a separate document. segments will be defined in a separate document.
5. Multicast 5. IGP Mirroring Context Segment
It is beneficial for an IGP node to be able to advertise its ability
to process traffic originally destined to another IGP node, called
the Mirrored node and identified by an IP address or a Node-SID,
provided that a "Mirroring Context" segment be inserted in the
segment list prior to any service segment local to the mirrored node.
When a given node B wants to provide egress node A protection, it
advertises a segment identifying node's A context. Such segment is
called "Mirror Context Segment" and identified by the Mirror SID.
The Mirror SID is advertised using the Binding Segment defined in SR
IGP protocol extensions ( [I-D.ietf-isis-segment-routing-extensions],
[I-D.ietf-ospf-segment-routing-extensions] and
[I-D.ietf-ospf-ospfv3-segment-routing-extensions]).
In the event of a failure, a point of local repair (PLR) diverting
traffic from A to B does a PUSH of the Mirror SID on the protected
traffic. B, when receiving the traffic with the Mirror SID as the
active segment, uses that segment and process underlying segments in
the context of A.
6. Multicast
Segment Routing is defined for unicast. The application of the Segment Routing is defined for unicast. The application of the
source-route concept to Multicast is not in the scope of this source-route concept to Multicast is not in the scope of this
document. document.
6. IANA Considerations 7. IANA Considerations
This document does not require any action from IANA. This document does not require any action from IANA.
7. Security Considerations 8. Security Considerations
This document doesn't introduce new security considerations when This document doesn't introduce new security considerations when
applied to the MPLS dataplane. applied to the MPLS dataplane.
There are a number of security concerns with source routing at the There are a number of security concerns with source routing at the
IPv6 dataplane [RFC5095]. The new IPv6-based segment routing header IPv6 dataplane [RFC5095]. The new IPv6-based segment routing header
defined in [I-D.previdi-6man-segment-routing-header] and its defined in [I-D.previdi-6man-segment-routing-header] and its
associated security measures address these concerns. The IPv6 associated security measures address these concerns. The IPv6
Segment Routing Header is defined in a way that blind attacks are Segment Routing Header is defined in a way that blind attacks are
never possible, i.e., attackers will be unable to send source routed never possible, i.e., attackers will be unable to send source routed
packets that get successfully processed, without being part of the packets that get successfully processed, without being part of the
negations for setting up the source routes or being able to eavesdrop negations for setting up the source routes or being able to eavesdrop
legitimate source routed packets. In some networks this base level legitimate source routed packets. In some networks this base level
security may be complemented with other mechanisms, such as packet security may be complemented with other mechanisms, such as packet
filtering, cryptographic security, etc. filtering, cryptographic security, etc.
8. Contributors 9. Contributors
The following people have substantially contributed to the definition The following people have substantially contributed to the definition
of the Segment Routing architecture and to the editing of this of the Segment Routing architecture and to the editing of this
document: document:
Ahmed Bashandy Ahmed Bashandy
Cisco Systems, Inc. Cisco Systems, Inc.
Email: bashandy@cisco.com Email: bashandy@cisco.com
Martin Horneffer Martin Horneffer
Deutsche Telekom Deutsche Telekom
Email: Martin.Horneffer@telekom.de Email: Martin.Horneffer@telekom.de
Wim Henderickx Wim Henderickx
Alcatel-Lucent Alcatel-Lucent
Email: wim.henderickx@alcatel-lucent.com Email: wim.henderickx@alcatel-lucent.com
Jeff Tantsura Jeff Tantsura
Ericsson Ericsson
Email: Jeff.Tantsura@ericsson.com Email: Jeff.Tantsura@ericsson.com
Edward Crabbe Edward Crabbe
Individual Individual
Email: edward.crabbe@gmail.com Email: edward.crabbe@gmail.com
Igor Milojevic Igor Milojevic
Email: milojevicigor@gmail.com Email: milojevicigor@gmail.com
Saku Ytti Saku Ytti
TDC TDC
Email: saku@ytti.fi Email: saku@ytti.fi
9. Acknowledgements 10. Acknowledgements
We would like to thank Dave Ward, Dan Frost, Stewart Bryant, Pierre We would like to thank Dave Ward, Dan Frost, Stewart Bryant, Pierre
Francois, Thomas Telkamp, Les Ginsberg, Ruediger Geib, Hannes Gredler Francois, Thomas Telkamp, Les Ginsberg, Ruediger Geib, Hannes
and Pushpasis Sarkar for their comments and review of this document. Gredler, Pushpasis Sarkar, Eric Rosen and Chris Bowers for their
comments and review of this document.
10. References 11. References
10.1. Normative References 11.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, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119,
RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
Hierarchy with Generalized Multi-Protocol Label Switching Hierarchy with Generalized Multi-Protocol Label Switching
(GMPLS) Traffic Engineering (TE)", RFC 4206, DOI 10.17487/ (GMPLS) Traffic Engineering (TE)", RFC 4206,
RFC4206, October 2005, DOI 10.17487/RFC4206, October 2005,
<http://www.rfc-editor.org/info/rfc4206>. <http://www.rfc-editor.org/info/rfc4206>.
10.2. Informative References 11.2. Informative References
[I-D.filsfils-spring-large-scale-interconnect]
Filsfils, C., Cai, D., Previdi, S., Henderickx, W.,
Shakir, R., Cooper, D., Ferguson, F., Laberge, T., Lin,
S., Decraene, B., and L. Jalil, "Interconnecting Millions
Of Endpoints With Segment Routing", draft-filsfils-spring-
large-scale-interconnect-00 (work in progress), July 2015.
[I-D.filsfils-spring-segment-routing-central-epe] [I-D.filsfils-spring-segment-routing-central-epe]
Filsfils, C., Previdi, S., Patel, K., Aries, E., Filsfils, C., Previdi, S., Patel, K., Shaw, S., Ginsburg,
shaw@fb.com, s., Ginsburg, D., and D. Afanasiev, "Segment D., and D. Afanasiev, "Segment Routing Centralized Egress
Routing Centralized Egress Peer Engineering", Peer Engineering", draft-filsfils-spring-segment-routing-
draft-filsfils-spring-segment-routing-central-epe-04 (work central-epe-05 (work in progress), August 2015.
in progress), July 2015.
[I-D.filsfils-spring-segment-routing-ldp-interop] [I-D.filsfils-spring-segment-routing-ldp-interop]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe, Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe,
"Segment Routing interoperability with LDP", "Segment Routing interoperability with LDP", draft-
draft-filsfils-spring-segment-routing-ldp-interop-03 (work filsfils-spring-segment-routing-ldp-interop-03 (work in
in progress), March 2015. progress), March 2015.
[I-D.filsfils-spring-segment-routing-msdc] [I-D.filsfils-spring-segment-routing-msdc]
Filsfils, C., Previdi, S., Mitchell, J., Aries, E., Filsfils, C., Previdi, S., Mitchell, J., Lapukhov, P.,
Lapukhov, P., Gaya, G., Afanasiev, D., Laberge, T., Gaya, G., Afanasiev, D., Laberge, T., Nkposong, E.,
Nkposong, E., Nanduri, M., Uttaro, J., and S. Ray, "BGP- Nanduri, M., Uttaro, J., and S. Ray, "BGP-Prefix Segment
Prefix Segment in large-scale data centers", in large-scale data centers", draft-filsfils-spring-
draft-filsfils-spring-segment-routing-msdc-03 (work in segment-routing-msdc-03 (work in progress), July 2015.
progress), July 2015.
[I-D.francois-spring-segment-routing-ti-lfa] [I-D.francois-rtgwg-segment-routing-ti-lfa]
Francois, P., Filsfils, C., Bashandy, A., and B. Decraene, Francois, P., Filsfils, C., Bashandy, A., and B. Decraene,
"Topology Independent Fast Reroute using Segment Routing", "Topology Independent Fast Reroute using Segment Routing",
draft-francois-spring-segment-routing-ti-lfa-01 (work in draft-francois-rtgwg-segment-routing-ti-lfa-00 (work in
progress), October 2014. progress), August 2015.
[I-D.geib-spring-oam-usecase] [I-D.geib-spring-oam-usecase]
Geib, R., Filsfils, C., Pignataro, C., and N. Kumar, "Use Geib, R., Filsfils, C., Pignataro, C., and N. Kumar, "Use
case for a scalable and topology aware MPLS data plane case for a scalable and topology aware MPLS data plane
monitoring system", draft-geib-spring-oam-usecase-06 (work monitoring system", draft-geib-spring-oam-usecase-06 (work
in progress), July 2015. in progress), July 2015.
[I-D.ietf-isis-prefix-attributes]
Ginsberg, L., Decraene, B., Filsfils, C., Litkowski, S.,
Previdi, S., Xu, X., and U. Chunduri, "IS-IS Prefix
Attributes for Extended IP and IPv6 Reachability", draft-
ietf-isis-prefix-attributes-01 (work in progress), June
2015.
[I-D.ietf-isis-segment-routing-extensions] [I-D.ietf-isis-segment-routing-extensions]
Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., Previdi, S., Filsfils, C., Bashandy, A., Gredler, H.,
Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS
Extensions for Segment Routing", Extensions for Segment Routing", draft-ietf-isis-segment-
draft-ietf-isis-segment-routing-extensions-05 (work in routing-extensions-05 (work in progress), June 2015.
progress), June 2015.
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] [I-D.ietf-ospf-ospfv3-segment-routing-extensions]
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
Shakir, R., Henderickx, W., and J. Tantsura, "OSPFv3 Shakir, R., Henderickx, W., and J. Tantsura, "OSPFv3
Extensions for Segment Routing", Extensions for Segment Routing", draft-ietf-ospf-ospfv3-
draft-ietf-ospf-ospfv3-segment-routing-extensions-03 (work segment-routing-extensions-03 (work in progress), June
in progress), June 2015. 2015.
[I-D.ietf-ospf-segment-routing-extensions] [I-D.ietf-ospf-segment-routing-extensions]
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
Extensions for Segment Routing", Extensions for Segment Routing", draft-ietf-ospf-segment-
draft-ietf-ospf-segment-routing-extensions-05 (work in routing-extensions-05 (work in progress), June 2015.
progress), June 2015.
[I-D.ietf-pce-segment-routing] [I-D.ietf-pce-segment-routing]
Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E., Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E.,
Lopez, V., Tantsura, J., Henderickx, W., and J. Hardwick, Lopez, V., Tantsura, J., Henderickx, W., and J. Hardwick,
"PCEP Extensions for Segment Routing", "PCEP Extensions for Segment Routing", draft-ietf-pce-
draft-ietf-pce-segment-routing-05 (work in progress), segment-routing-06 (work in progress), August 2015.
May 2015.
[I-D.ietf-spring-ipv6-use-cases] [I-D.ietf-spring-ipv6-use-cases]
Brzozowski, J., Leddy, J., Leung, I., Previdi, S., Brzozowski, J., Leddy, J., Leung, I., Previdi, S.,
Townsley, W., Martin, C., Filsfils, C., and R. Maglione, Townsley, W., Martin, C., Filsfils, C., and R. Maglione,
"IPv6 SPRING Use Cases", "IPv6 SPRING Use Cases", draft-ietf-spring-ipv6-use-
draft-ietf-spring-ipv6-use-cases-04 (work in progress), cases-05 (work in progress), September 2015.
March 2015.
[I-D.ietf-spring-problem-statement] [I-D.ietf-spring-problem-statement]
Previdi, S., Filsfils, C., Decraene, B., Litkowski, S., Previdi, S., Filsfils, C., Decraene, B., Litkowski, S.,
Horneffer, M., and R. Shakir, "SPRING Problem Statement Horneffer, M., and R. Shakir, "SPRING Problem Statement
and Requirements", draft-ietf-spring-problem-statement-04 and Requirements", draft-ietf-spring-problem-statement-04
(work in progress), April 2015. (work in progress), April 2015.
[I-D.ietf-spring-resiliency-use-cases] [I-D.ietf-spring-resiliency-use-cases]
Francois, P., Filsfils, C., Decraene, B., and R. Shakir, Francois, P., Filsfils, C., Decraene, B., and R. Shakir,
"Use-cases for Resiliency in SPRING", "Use-cases for Resiliency in SPRING", draft-ietf-spring-
draft-ietf-spring-resiliency-use-cases-01 (work in resiliency-use-cases-01 (work in progress), March 2015.
progress), March 2015.
[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., Horneffer, M., Shakir, R., Tantsura, J., Litkowski, S., Horneffer, M., Shakir, R., Tantsura, J.,
and E. Crabbe, "Segment Routing with MPLS data plane", and E. Crabbe, "Segment Routing with MPLS data plane",
draft-ietf-spring-segment-routing-mpls-01 (work in draft-ietf-spring-segment-routing-mpls-01 (work in
progress), May 2015. progress), May 2015.
[I-D.kumar-spring-sr-oam-requirement] [I-D.ietf-spring-sr-oam-requirement]
Kumar, N., Pignataro, C., Akiya, N., Geib, R., Mirsky, G., Kumar, N., Pignataro, C., Akiya, N., Geib, R., Mirsky, G.,
and S. Litkowski, "OAM Requirements for Segment Routing and S. Litkowski, "OAM Requirements for Segment Routing
Network", draft-kumar-spring-sr-oam-requirement-03 (work Network", draft-ietf-spring-sr-oam-requirement-00 (work in
in progress), March 2015. progress), June 2015.
[I-D.previdi-6man-segment-routing-header] [I-D.previdi-6man-segment-routing-header]
Previdi, S., Filsfils, C., Field, B., Leung, I., Aries, Previdi, S., Filsfils, C., Field, B., Leung, I., Vyncke,
E., Vyncke, E., and D. Lebrun, "IPv6 Segment Routing E., and D. Lebrun, "IPv6 Segment Routing Header (SRH)",
Header (SRH)",
draft-previdi-6man-segment-routing-header-07 (work in draft-previdi-6man-segment-routing-header-07 (work in
progress), July 2015. progress), July 2015.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007,
<http://www.rfc-editor.org/info/rfc4915>.
[RFC5095] Abley, J., Savola, P., and G. Neville-Neil, "Deprecation [RFC5095] Abley, J., Savola, P., and G. Neville-Neil, "Deprecation
of Type 0 Routing Headers in IPv6", RFC 5095, of Type 0 Routing Headers in IPv6", RFC 5095,
DOI 10.17487/RFC5095, December 2007, DOI 10.17487/RFC5095, December 2007,
<http://www.rfc-editor.org/info/rfc5095>. <http://www.rfc-editor.org/info/rfc5095>.
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
Topology (MT) Routing in Intermediate System to
Intermediate Systems (IS-ISs)", RFC 5120,
DOI 10.17487/RFC5120, February 2008,
<http://www.rfc-editor.org/info/rfc5120>.
[RFC6549] Lindem, A., Roy, A., and S. Mirtorabi, "OSPFv2 Multi-
Instance Extensions", RFC 6549, DOI 10.17487/RFC6549,
March 2012, <http://www.rfc-editor.org/info/rfc6549>.
[RFC6822] Previdi, S., Ed., Ginsberg, L., Shand, M., Roy, A., and D.
Ward, "IS-IS Multi-Instance", RFC 6822,
DOI 10.17487/RFC6822, December 2012,
<http://www.rfc-editor.org/info/rfc6822>.
Authors' Addresses Authors' Addresses
Clarence Filsfils (editor) Clarence Filsfils (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
Brussels, Brussels
BE BE
Email: cfilsfil@cisco.com Email: cfilsfil@cisco.com
Stefano Previdi (editor) Stefano Previdi (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
Via Del Serafico, 200 Via Del Serafico, 200
Rome 00142 Rome 00142
Italy Italy
 End of changes. 77 change blocks. 
198 lines changed or deleted 351 lines changed or added

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