< draft-bonica-spring-srv6-plus-01.txt   draft-bonica-spring-srv6-plus-02.txt >
SPRING Working Group R. Bonica SPRING Working Group R. Bonica
Internet-Draft S. Hegde Internet-Draft S. Hegde
Intended status: Standards Track Juniper Networks Intended status: Standards Track Juniper Networks
Expires: January 4, 2020 Y. Kamite Expires: January 7, 2020 Y. Kamite
NTT Communications Corporation NTT Communications Corporation
A. Alston A. Alston
D. Henriques D. Henriques
Liquid Telecom Liquid Telecom
J. Halpern J. Halpern
Ericsson Ericsson
J. Linkova J. Linkova
Google Google
July 3, 2019 July 6, 2019
IPv6 Support for Segment Routing: SRv6+ IPv6 Support for Segment Routing: SRv6+
draft-bonica-spring-srv6-plus-01 draft-bonica-spring-srv6-plus-02
Abstract Abstract
This document describes SRv6+. SRv6+ is a Segment Routing (SR) This document describes SRv6+. SRv6+ is a Segment Routing (SR)
solution that leverages IPv6. It supports a wide variety of use- solution that leverages IPv6. It supports a wide variety of use-
cases while remaining in strict compliance with IPv6 specifications. cases while remaining in strict compliance with IPv6 specifications.
SRv6+ is optimized for for ASIC-based forwarding devices that operate SRv6+ is optimized for for ASIC-based forwarding devices that operate
at high data rates. at high data rates.
Status of This Memo Status of This Memo
skipping to change at page 1, line 43 skipping to change at page 1, line 43
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 4, 2020. This Internet-Draft will expire on January 7, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 23 skipping to change at page 2, line 23
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4
3. Paths, Segments And Instructions . . . . . . . . . . . . . . 4 3. Paths, Segments And Instructions . . . . . . . . . . . . . . 4
4. Segment Types . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Segment Types . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Strictly Routed . . . . . . . . . . . . . . . . . . . . . 6 4.1. Strictly Routed . . . . . . . . . . . . . . . . . . . . . 6
4.2. Loosely Routed . . . . . . . . . . . . . . . . . . . . . 7 4.2. Loosely Routed . . . . . . . . . . . . . . . . . . . . . 7
5. Segment Identifiers (SID) . . . . . . . . . . . . . . . . . . 8 5. Segment Identifiers (SID) . . . . . . . . . . . . . . . . . . 7
5.1. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.1. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.2. Assigning SIDs to Strictly Routed Segments . . . . . . . 10 5.2. Assigning SIDs to Strictly Routed Segments . . . . . . . 10
5.3. Assigning SIDs to Loosely Routed Segments . . . . . . . . 10 5.3. Assigning SIDs to Loosely Routed Segments . . . . . . . . 10
6. Service Instructions . . . . . . . . . . . . . . . . . . . . 10 6. Service Instructions . . . . . . . . . . . . . . . . . . . . 10
6.1. Per-Segment . . . . . . . . . . . . . . . . . . . . . . . 11 6.1. Per-Segment . . . . . . . . . . . . . . . . . . . . . . . 10
6.2. Per-Path . . . . . . . . . . . . . . . . . . . . . . . . 11 6.2. Per-Path . . . . . . . . . . . . . . . . . . . . . . . . 11
7. The IPv6 Data Plane . . . . . . . . . . . . . . . . . . . . . 11 7. The IPv6 Data Plane . . . . . . . . . . . . . . . . . . . . . 11
7.1. The Routing Header . . . . . . . . . . . . . . . . . . . 12 7.1. The Routing Header . . . . . . . . . . . . . . . . . . . 12
7.2. The Destination Options Header . . . . . . . . . . . . . 13 7.2. The Destination Options Header . . . . . . . . . . . . . 13
8. Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 14 8. Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 14
9. Differences Between SRv6 and SRv6+ . . . . . . . . . . . . . 14 9. Differences Between SRv6 and SRv6+ . . . . . . . . . . . . . 14
9.1. Routing Header Size . . . . . . . . . . . . . . . . . . . 14 9.1. Routing Header Size . . . . . . . . . . . . . . . . . . . 14
9.2. Decoupling of Topological and Service Instructions . . . 15 9.2. Decoupling of Topological and Service Instructions . . . 15
9.3. Authentication . . . . . . . . . . . . . . . . . . . . . 16 9.3. Authentication . . . . . . . . . . . . . . . . . . . . . 16
9.4. Traffic Engineering Capability . . . . . . . . . . . . . 16 9.4. Traffic Engineering Capability . . . . . . . . . . . . . 16
skipping to change at page 3, line 15 skipping to change at page 3, line 15
1. Overview 1. Overview
Network operators deploy Segment Routing (SR) [RFC8402] so that they Network operators deploy Segment Routing (SR) [RFC8402] so that they
can forward packets through SR paths. An SR path provides can forward packets through SR paths. An SR path provides
unidirectional connectivity from its ingress node to its egress node. unidirectional connectivity from its ingress node to its egress node.
While an SR path can follow the least cost path from ingress to While an SR path can follow the least cost path from ingress to
egress, it can also follow any other path. egress, it can also follow any other path.
An SR path contains one or more segments. A segment provides An SR path contains one or more segments. A segment provides
unidirectional connectivity from its ingress node to its egress node. unidirectional connectivity from its ingress node to its egress node.
It includes a topological instruction that controls its behavior. It also includes a topological instruction that controls its
behavior.
The topological instruction is executed on the segment ingress node. The topological instruction is executed on the segment ingress node.
It determines the segment egress node and the method by which the It determines the segment egress node and the method by which the
segment ingress node forwards packets to the segment egress node. segment ingress node forwards packets to the segment egress node.
Per-segment service instructions can augment a segment. Per-segment Per-segment service instructions can augment a segment. Per-segment
service instructions, if present, are executed on the segment egress service instructions, if present, are executed on the segment egress
node. node.
Likewise, a per-path service instruction can augment a path. The Likewise, a per-path service instruction can augment a path. The
skipping to change at page 7, line 5 skipping to change at page 7, line 5
o Zero or more secondary interface identifiers. o Zero or more secondary interface identifiers.
The topological instruction behaves as follows: The topological instruction behaves as follows:
o If none of the interfaces identified by the above-mentioned o If none of the interfaces identified by the above-mentioned
parameters are operational, discard the packet and send an ICMPv6 parameters are operational, discard the packet and send an ICMPv6
[RFC4443] Destination Unreachable message (Code: 5, Source Route [RFC4443] Destination Unreachable message (Code: 5, Source Route
Failed) to the packet's source node. Failed) to the packet's source node.
o Decrement the packet's Hop Count.
o If the Hop Count has expired, discard the packet and send an
ICMPv6 Time Expired message to the packet's source node.
o Overwrite the packet's Destination Address with the IPv6 address o Overwrite the packet's Destination Address with the IPv6 address
that was received as a parameter. that was received as a parameter.
o If the primary interface is active, forward the packet through the o If the primary interface is active, forward the packet through the
primary interface. primary interface.
o If the primary interface is not active and any of the secondary o If the primary interface is not active and any of the secondary
interfaces are active, forward the packet through one of the interfaces are active, forward the packet through one of the
secondary interfaces. Execute procedures so that all packets secondary interfaces. Execute procedures so that all packets
belonging to a flow are forwarded through the same secondary belonging to a flow are forwarded through the same secondary
skipping to change at page 7, line 37 skipping to change at page 7, line 32
ingress node and accepts an IPv6 address as a parameter. The IPv6 ingress node and accepts an IPv6 address as a parameter. The IPv6
address identifies an interface on the segment egress node. address identifies an interface on the segment egress node.
The topological instruction behaves as follows: The topological instruction behaves as follows:
o If the segment ingress node does not have a viable route to the o If the segment ingress node does not have a viable route to the
IPv6 address included as a parameter, discard the packet and send IPv6 address included as a parameter, discard the packet and send
an ICMPv6 Destination Unreachable message (Code:1 Net Unreachable) an ICMPv6 Destination Unreachable message (Code:1 Net Unreachable)
to the packet's source node. to the packet's source node.
o Decrement the packet's Hop Count.
o If the Hop Count has expired, discard the packet and send an
ICMPv6 Time Expired message to the packet's source node.
o Overwrite the packet's Destination Address with the destination o Overwrite the packet's Destination Address with the destination
address that was included as a parameter. address that was included as a parameter.
o Forward the packet to the next hop along the least cost path the o Forward the packet to the next hop along the least cost path the
segment egress node. If there are multiple least cost paths to segment egress node. If there are multiple least cost paths to
the segment egress node (i.e., Equal Cost Multipath), execute the segment egress node (i.e., Equal Cost Multipath), execute
procedures so that all packets belonging to a flow are forwarded procedures so that all packets belonging to a flow are forwarded
through the same next hop. through the same next hop.
5. Segment Identifiers (SID) 5. Segment Identifiers (SID)
 End of changes. 9 change blocks. 
17 lines changed or deleted 8 lines changed or added

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