Network Working Group Z. Li
Internet-Draft Z. Hu
Intended status: Standards Track D. Cheng
Expires: April 22, 2018 Huawei Technologies
October 19, 2017
OSPFv3 Extensions for SRv6
draft-li-ospf-ospfv3-srv6-extensions-00
Abstract
Segment routing architecture (refer to
[I-D.ietf-spring-segment-routing]) can be implemented over a MPLS
data plane, an IPv4 data plane, as well as an IPv6 data plane.
[I-D.filsfils-spring-srv6-network-programming] introduces the network
programming concept in IPv6 data plane using segment routing
technology, called SRv6, and it also defines some basic functions.
The SRv6 functions can be advertised by routing protocols including
OSPFv3, IS-IS and BGP-LS. This draft proposes some extensions to
OSPFv3 ([RFC5340]) required to support SRv6.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 22, 2018.
Li, et al. Expires April 22, 2018 [Page 1]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. OSPFv3 Extensions for SRv6 . . . . . . . . . . . . . . . . . 4
2.1. SRv6-Capabilities Sub-TLV . . . . . . . . . . . . . . . . 4
2.1.1. Maximum SL Sub-Sub-TLV . . . . . . . . . . . . . . . 5
2.1.2. Maximum End Pop SRH Sub-Sub-TLV . . . . . . . . . . . 6
2.1.3. Maximum T.Insert SRH Sub-Sub-TLV . . . . . . . . . . 7
2.1.4. Maximum T.Encap SRH Sub-Sub-TLV . . . . . . . . . . . 7
2.1.5. Maximum End D SRH Sub-Sub-TLV . . . . . . . . . . . . 8
2.2. SRv6 Function Descriptor . . . . . . . . . . . . . . . . 9
2.3. SRv6 Function Code Points . . . . . . . . . . . . . . . . 10
2.4. SRv6 SID TLV . . . . . . . . . . . . . . . . . . . . . . 11
2.5. SRv6 Neighbor SID TLV . . . . . . . . . . . . . . . . . . 12
2.5.1. Point to Popint SRv6 Adj-SID Sub-TLV . . . . . . . . 13
2.5.2. LAN SRv6 Adj-SID sub-TLV . . . . . . . . . . . . . . 14
3. Security Considerations . . . . . . . . . . . . . . . . . . . 15
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
4.1. OSPFv3 Extensions for SRv6 Support . . . . . . . . . . . 15
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1. Normative References . . . . . . . . . . . . . . . . . . 16
6.2. Informative References . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
This document proposes some extensions to OSPFv3 in order to support
SRv6 as defined in [I-D.filsfils-spring-srv6-network-programming],
and they are as follows:
1. SRv6-Capabilities Sub-TLV: Refer to Section 2.1. This Sub-TLV is
used to announce the capability of an OSPFv3 router for SRv6
Li, et al. Expires April 22, 2018 [Page 2]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
support with a list of parameters. This Sub-TLV, if used, is
included in OSPFv3 Router Information LSA TLV LSA([RFC7770]).
2. Maximum SL Sub-Sub-TLV: Refer to Section 2.1.1. This Sub-Sub-TLV
carries the maximum value of the "SL" field in the SRH
([I-D.ietf-6man-segment-routing-header]) of a received packet
before applying the function associated with a SID. It may be
included in the SRv6-Capabilities Sub-TLV.
3. Maximum End Pop SRH Sub-Sub-TLV: Refer to Section 2.1.2. This
Sub-Sub-TLV carries the maximum number of the SIDs in the top SRH
in an SRH stack to which the router can apply "PSP" or "USP"
flavors (refer to
[I-D.filsfils-spring-srv6-network-programming]). It may be
included in the SRv6-Capabilities Sub-TLV.
4. Maximum T.Insert SRH Sub-Sub-TLV: Refer to Section 2.1.3. This
Sub-Sub-TLV carries the maximum number of the SIDs that can be
inserted as part of the "T.insert" behavior (refer to
[I-D.filsfils-spring-srv6-network-programming]). It may be
included in the SRv6-Capabilities Sub-TLV.
5. Maximum T.Encap SRH Sub-Sub-TLV: Refer to Section 2.1.4. This
Sub-Sub-TLV carries the maximum number of the SIDs that can be
inserted as part of the "T.Encap" behavior (refer to
[I-D.filsfils-spring-srv6-network-programming]). It may be
included in the SRv6-Capabilities Sub-TLV.
6. Maximum End D SRH Sub-Sub-TLV: Refer to Section 2.1.5. This Sub-
Sub-TLV carries the maximum number of the SIDs in an SRH when
applying "End.DX6" and "End.DT6" function (refer to
[I-D.filsfils-spring-srv6-network-programming]). It may be
included in the SRv6-Capabilities Sub-TLV.
7. SRv6 SID TLV: Refer to Section 2.4. This TLV is used to
advertise one or more SIDs along with their associated SRv6
functions. These SRv6 functions are well-known and defined in
[I-D.filsfils-spring-srv6-network-programming], but may also be
others defined in the future. This TLV is a top-level TLV and is
included in OSPFv3 Router Information LSA([RFC7770]).
8. SRv6 Point-to-Point Adj-SID Sub-TLV: Refer to Section 2.5.1.
This Sub-TLV is used to advertise one or more SIDs on an OSPFv3
point-to-point adjacency for the support of SRv6 along with their
associated functions. These SRv6 functions are well-known and
defined in [I-D.filsfils-spring-srv6-network-programming], but
may also be others defined in the future. This Sub-TLV is
Li, et al. Expires April 22, 2018 [Page 3]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
included in Router-Link TLV as defined in
[I-D.ietf-ospf-ospfv3-lsa-extend].
9. SRv6 LAN SRv6 Adj-SID Sub-TLV: Refer to Section 2.5.2. This Sub-
TLV is used to advertise one or more SIDs on an OSPFv3 LAN
adjacency for the support of SRv6 along with their associated
functions. These SRv6 functions are well-known and defined in
[I-D.filsfils-spring-srv6-network-programming], but may also be
others defined in the future. This Sub-TLV is included in
Router-Link TLV as defined in [I-D.ietf-ospf-ospfv3-lsa-extend].
For consistency in IGP's behavior, ideas are borrowed from
[I-D.bashandy-isis-srv6-extensions] including SRv6 functions
supported and data format.
2. OSPFv3 Extensions for SRv6
2.1. SRv6-Capabilities Sub-TLV
When apply Segment Routing to IPv6 data plane, the list of segments
is stored in segment routing header, referred to as "SRH", which is
defined in [I-D.ietf-6man-segment-routing-header].
A router that supports SRv6 MUST be able to process the segment
routing header as described in
[I-D.ietf-6man-segment-routing-header], as well as apply behaviors
and flavors as described in
[I-D.filsfils-spring-srv6-network-programming]. In either case,
there exists a limit to which the router can perform according to its
own ability that needs to be advertised to other routers in the same
SR domain.
The OSPFv3-SRv6-Capbilities Sub-TLV is designed for an OSPFv3 router
to make announcement in the SRv6 domain about its ability in the
context of SRv6 support.
The format of OSPFv3-SRv6-Capabilities Sub-TLV is shown in Figure 1.
Li, et al. Expires April 22, 2018 [Page 4]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Sub-TLVs ....
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|E| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1
Type (one octet)
TBD-1
Length (one octet)
2 + length of sub-sub-TLVs
Flags (16 bits)
E-Flag: If set, the router is able to apply "T.Encap" operation.
2.1.1. Maximum SL Sub-Sub-TLV
The Maximum Segments Left Sub-Sub-TLV specifies the maximum value of
the "SL" field (refer to [I-D.ietf-6man-segment-routing-header]) in
the SRH of a received packet before applying the function associated
with a SID.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Max SL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2
Type (one octet)
Li, et al. Expires April 22, 2018 [Page 5]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
TBD-2
Length (one octet)
1
Max SL (8 bits)
SL Value
If the sub-sub-TLV is NOT advertised, the value is assumed to be 0.
2.1.2. Maximum End Pop SRH Sub-Sub-TLV
The Maximum End Pop SRH Sub-Sub-TLV specifies the maximum number of
SIDs in the top SRH in an SRH stack to which the router can apply
"PSP" or USP" flavors([I-D.filsfils-spring-srv6-network-programming]
).
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |Max-End-Pop-SRH|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3
Type (one octet)
TBD-3
Length (one octet)
1
Max-End-Pop-SRH (8 bits)
Max End Pop SRH value Value
If the value is zero or the sub-sub-TLV is NOT advertised, then it is
assumed that the router cannot apply PSP or USP flavors.
Li, et al. Expires April 22, 2018 [Page 6]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
2.1.3. Maximum T.Insert SRH Sub-Sub-TLV
The Maximum T.Insert SRH Sub-Sub-TLV specifies the maximum number of
SIDs that can be inserted as part of the "T.insert"
behavior([I-D.filsfils-spring-srv6-network-programming]).
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Max-T.Insert |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4
Type (one octet)
TBD-4
Length (one octet)
1
Max-T.Insert (8 bits)
Max-T.Insert Value
If the value is zero or the sub-sub-TLV is omitted, then the router
is assumed not to support any variation of the "T.insert" behavior.
2.1.4. Maximum T.Encap SRH Sub-Sub-TLV
The Maximum T.Encap SRH Sub-Sub-TLV specifies the maximum number of
SIDs that can be included as part of the "T.Encap"
behavior([I-D.filsfils-spring-srv6-network-programming]).
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Max-T.Encap |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5
Type (one octet)
Li, et al. Expires April 22, 2018 [Page 7]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
TBD-5
Length (one octet)
1
Max-T.Encap (8 bits)
Max-T.Encap Value
If this value is zero or the Sub-Sub-TLV is omitted and the "E" flag
is set in the associated SRv6 Capabilities Sub-TLV, then it is
assumed that the router can apply T.Encap by encapsulating the
incoming packet in another IPv6 header without SRH the same way
IPinIP encapsulation is performed. If the "E" flag is clear, then
this Sub-Sub-TLV SHOULD NOT be transmitted and MUST be ignored on
reception.
2.1.5. Maximum End D SRH Sub-Sub-TLV
The Maximum End D SRH sub-sub-TLV specifies the maximum number of
SIDs in an SRH when applying "End.DX6" and "End.DT6" functions.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Max End D |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6
Type (one octet)
TBD-6
Length (one octet)
1
Max End D (8 bits)
Max End D Value
If this value is zero or the sub-sub-TLV is omitted, then it is
assumed that the router cannot apply "End.DX6" or "End.DT6" functions
Li, et al. Expires April 22, 2018 [Page 8]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
if the extension header right underneath the outer IPv6 header is an
SRH.
2.2. SRv6 Function Descriptor
The SRv6 SID TLV (defined in Section 2.4), P2P SRv6 SID Sub-TLV
(defined in Section 2.5.1), and LAN SRv6 SID Sub-TLV (defined in
Section 2.5.2), MUST include one SRv6 function Descriptor.
When included in the SRv6 SID TLV, the descriptor is encoded as a
Sub-TLV. When included in a P2P/LAN SRv6 SID sub-TLV, the descriptor
is encoded as a Sub-Sub-TLV.
The SRv6-function Descriptor encodes the function (and its flavors)
bound to the SRv6 SID advertised in the SRv6 dodmain
([I-D.filsfils-spring-srv6-network-programming]).
The format of OSPFv3 SRv6 Function Descriptor is shown in Figure 7.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-|-+-+-+-+-+-+
| Type |
+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+
| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Function (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7
Type (one octet)
TBD-7
Length (one octet)
3
Flags
This document defines two flags to specify the flavor(s)
([I-D.filsfils-spring-srv6-network-programming]) associated with
the SRv6 function specified in the "Function" field:
Li, et al. Expires April 22, 2018 [Page 9]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
0 1 2 3 4 5 6 7
+-+-|-+-+-+-+-+-+
|P|U| Reserved |
+-+-+-+-+-+-+-+-+
Figure 8
P bit
If set, then the PSP flavor
([I-D.filsfils-spring-srv6-network-programming]) is associated
with the function encoded in the "function" field.
U bit
If set, then the USP flavor
([I-D.filsfils-spring-srv6-network-programming]) is associated
with the function encoded in the "function" field.
Reserved
Reserved Bits SHOULD be transmitted as 0 and MUST be ignored on
receipt.
The second two octets encode the function. Function code points are
defined in Section 2.3.
2.3. SRv6 Function Code Points
This section defines the code points for supported functions
associated with SRv6 SIDs. Refer
[I-D.filsfils-spring-srv6-network-programming] for SRv6 functions.
0:
Reserved.
1:
End Function.
2:
End.X Function.
3:
Li, et al. Expires April 22, 2018 [Page 10]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
End.DX6 Function.
4:
End.DT6 Function.
2.4. SRv6 SID TLV
A new top level TLV is introduced in OSPFv3 to advertise one or more
SRv6 Segment Identifiers (SIDs) and each SID is associated one or
more SRv6 functions. [I-D.filsfils-spring-srv6-network-programming]
defined some basic functions. This document defines code points for
some of the basic SRv6 functions in Section 2.3. SRv6 functions may
also be defined in other documents or locally configured.
The format of OSPFv3 SRv6 SID TLV is shown in Figure 9.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags | SID-Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID (variable) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Sub-TLV-Len| Sub-Sub-TLVs (variable) . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9
Type (one octet)
TBD-8
Length (one octet)
Variable
One or more SID entries, each of which has the following format:
Flags (One octet)
The following flags are defined:
Li, et al. Expires April 22, 2018 [Page 11]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
0 1 2 3 4 5 6 7
+-+-|-+-+-+-+-+-+
|D| Reserved |
+-+-+-+-+-+-+-+-+
Figure 10
D bit:
When the SID is leaked from OSPFv3 backbone area to other areas,
the D bit MUST be set. Otherwise, this bit MUST be clear. SIDs
with the D bit set MUST NOT be leaked to OSPFv3 backbone area from
others. This is to prevent looping.
Reserved:
The remaining bits are reserved for future use. They SHOULD be
set to zero on transmission and MUST be ignored on reception.
SID-Size (one octet)
Number of bits in the SID field.
SID (1-16 octet)
This field encodes the advertised SRv6 SID. The "SID-Size" field
can have the value in the range of 1-128 and indicates the number
of bits in the SID. The SRv6 SID is encoded in the minimal number
of octets for the given number of bits.
Sub-Sub-TLV-Length(one octet)
Number of octets used by sub-TLVs.
Sub-Sub-TLVs (Variable)
One or more functions associated with the advertised SID is
specified by the SRv6-Function Descriptor Sub-TLV specified in
Section 2.2.
2.5. SRv6 Neighbor SID TLV
The advertising of some SRv6 functions must be associated with a
particular neighbor. As described in
[I-D.ietf-spring-segment-routing], there are two types of SR
adjacencies, one is on point-to-point link and another is on a
broadcast/mulcast LAN. This section defines OSPFv3 extensions in
Li, et al. Expires April 22, 2018 [Page 12]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
order to advertise SRv6 SIDs and their associated functions for these
two cases.
A single SRv6 Adj-SID may associate with one or more SRv6 functions.
The SRv6 functions are defined in
[I-D.filsfils-spring-srv6-network-programming], other documents, or
locally configured.
This document specifies how to advertise End.X and End.DX6 defined in
[I-D.filsfils-spring-srv6-network-programming] using OSPFv3
extersons.
2.5.1. Point to Popint SRv6 Adj-SID Sub-TLV
This Sub-TLV is used to advertise one or more SRv6 SIDs associated
with End.X and End.DX6 SRv6 functions over a point-to-point
adjacency.
The format of the "P2P SRv6 Adj-SID" Sub-TLV is shown in Figure 11.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags | SID-Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID (variable) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Sub-TLV-Len| Sub-Sub-TLVs (variable) . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11
Type (one octet)
TBD-9
Length (one octet)
Variable
One or more SID entries, each of which has the following format:
Flags (One octet)
No flags defined in this document.
Li, et al. Expires April 22, 2018 [Page 13]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
SID-Size (one octet)
Number of bits in the SID field.
SID (1-16 octet)
This field encodes the advertised SRv6 SID. The "SID-Size" field
can have the value in the range of 1-128 and indicates the number
of bits in the SID. The SRv6 SID is encoded in the minimal number
of octets for the given number of bits.
Sub-Sub-TLV-Length(one octet)
Number of octets used by Sub-TLVs.
Sub-Sub-TLVs (Variable)
One or more functions associated with the advertised SID is
specified by the SRv6 Function Descriptor Sub-TLV specified in
Section 2.2. If the SRv6 Function Descriptor is encoded in the
SRv6 P2P SID sub-TLV, the encoded SRv6 SID function MUST include
only the code points of SRv6 SID functions that require the
specification of a neighbor to be correctly applied.
2.5.2. LAN SRv6 Adj-SID sub-TLV
This Sub-TLV is used to advertise one or more SRv6 SIDs associated
with End.X and End.DX6 SRv6 functions over a LAN adjacency.
The format of the "LAN SRv6 Adj-SID" Sub-TLV is shown in Figure 12.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags | SID-Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID (variable) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-Sub-TLV-Len| Sub-Sub-TLVs (variable) . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12
Type (one octet)
TBD-10
Li, et al. Expires April 22, 2018 [Page 14]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
Length (one octet)
Variable
One or more SID entries, each of which has the following format:
Flags (One octet)
No flags defined in this document.
SID-Size (one octet)
Number of bits in the SID field.
SID (1-16 octet)
This field encodes the advertised SRv6 SID. The "SID-Size" field
can have the value in the range of 1-128 and indicates the number
of bits in the SID. The SRv6 SID is encoded in the minimal number
of octets for the given number of bits.
Sub-Sub-TLV-Length(one octet)
Number of octets used by sub-TLVs.
Sub-Sub-TLVs (Variable)
One or more functions associated with the advertised SID is
specified by the SRv6-Function Descriptor Sub-TLV specified in
Section 2.2. If the SRv6 Function Descriptor is encoded in the
SRv6 P2P SID Sub-TLV, the encoded SRv6 SID function MUST include
only the code points of SRv6 SID functions that require the
specification of a neighbor to be correctly applied.
3. Security Considerations
This document does not introduce any security issue.
4. IANA Considerations
This document proposes IANA considerations as described in the
following sections.
4.1. OSPFv3 Extensions for SRv6 Support
This document proposes the following OSPFv3 Extensions in order to
support SRv6:
Li, et al. Expires April 22, 2018 [Page 15]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
1. SRv6-Capabilities Sub-TLV (Type TBD-1): Refer to Section 2.1.
2. Maximum SL Sub-Sub-TLV (Type TBD-2): Refer to Section 2.1.1.
3. Maximum End Pop SRH Sub-Sub-TLV (Type TBD-3): Refer to
Section 2.1.2.
4. Maximum T.Insert SRH Sub-Sub-TLV (Type TBD-4): Refer to
Section 2.1.3.
5. Maximum T.Encap SRH Sub-Sub-TLV (Type TBD-5): Refer to
Section 2.1.4.
6. Maximum End D SRH Sub-Sub-TLV (Type TBD-6): Refer to
Section 2.1.5.
7. SRv6 Function Descriptor (Type TBD-7): Refer to Section 2.2.
8. SRv6 SID TLV (Type TBD-8): Refer to Section 2.4.
9. SRv6 Point-to-Point Adj-SID Sub-TLV (Type TBD-9): Refer to
Section 2.5.1.
10. SRv6 LAN SRv6 Adj-SID Sub-TLV (Type TBD-10): Refer to
Section 2.5.2.
5. Acknowledgements
TBD.
6. References
6.1. Normative References
[I-D.ietf-ospf-ospfv3-lsa-extend]
Lindem, A., Roy, A., Goethals, D., Vallem, V., and F.
Baker, "OSPFv3 LSA Extendibility", draft-ietf-ospf-ospfv3-
lsa-extend-15 (work in progress), October 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>.
Li, et al. Expires April 22, 2018 [Page 16]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
[RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
S. Shaffer, "Extensions to OSPF for Advertising Optional
Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
February 2016, <https://www.rfc-editor.org/info/rfc7770>.
6.2. Informative References
[I-D.bashandy-isis-srv6-extensions]
Ginsberg, L., Bashandy, A., Filsfils, C., and B. Decraene,
"IS-IS Extensions to Support Routing over IPv6 Dataplane",
draft-bashandy-isis-srv6-extensions-01 (work in progress),
September 2017.
[I-D.filsfils-spring-srv6-network-programming]
Filsfils, C., Leddy, J., daniel.voyer@bell.ca, d.,
daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R.,
Matsushima, S., Lebrun, D., Decraene, B., Peirens, B.,
Salsano, S., Naik, G., Elmalky, H., Jonnalagadda, P.,
Sharif, M., Ayyangar, A., Mynam, S., Henderickx, W.,
Bashandy, A., Raza, K., Dukes, D., Clad, F., and P.
Camarillo, "SRv6 Network Programming", draft-filsfils-
spring-srv6-network-programming-01 (work in progress),
June 2017.
[]
Previdi, S., Filsfils, C., Raza, K., Leddy, J., Field, B.,
daniel.voyer@bell.ca, d., daniel.bernier@bell.ca, d.,
Matsushima, S., Leung, I., Linkova, J., Aries, E., Kosugi,
T., Vyncke, E., Lebrun, D., Steinberg, D., and R. Raszuk,
"IPv6 Segment Routing Header (SRH)", draft-ietf-6man-
segment-routing-header-07 (work in progress), July 2017.
[I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
and R. Shakir, "Segment Routing Architecture", draft-ietf-
spring-segment-routing-12 (work in progress), June 2017.
Authors' Addresses
Zhenbin Li
Huawei Technologies
Email: lizhenbin@huawei.com
Li, et al. Expires April 22, 2018 [Page 17]
Internet-Draft OSPFv3 Extensions for SRV6 October 2017
Zhibo Hu
Huawei Technologies
Email: huzhibo@huawei.com
Dean Cheng
Huawei Technologies
Email: dean.cheng@huawei.com
Li, et al. Expires April 22, 2018 [Page 18]