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, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . 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, . 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. [I-D.ietf-6man-segment-routing-header] 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]