LSR Working Group U. Chunduri, Ed. Internet-Draft Huawei USA Intended status: Standards Track J. Tantsura Expires: September 24, 2018 Nuage Networks Y. Qu Huawei USA March 23, 2018 Usage of Non Shortest Path Forwarding (NSPF) IDs in IS-IS draft-ct-isis-nspfid-for-sr-paths-01 Abstract This document specifies the advertisement of Non Shortest Path Forwarding IDentifier (NSPF ID) TLV and the computation procedures for the same in IS-IS protocol. NSPF ID allows to simplify the data plane path description of data traffic in SR deployments. This helps mitigate the MTU issues that are caused by additional SR overhead of the packet and allows traffic statistics. 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 RFC2119 [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 September 24, 2018. Chunduri, et al. Expires September 24, 2018 [Page 1] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 Copyright Notice Copyright (c) 2018 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 1.1. Mitigation with MSD and RLD . . . . . . . . . . . . . . . 3 1.2. Issues with Increased SID Depth . . . . . . . . . . . . . 3 1.3. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Non Shortest Path Forwarding IDentifier TLV . . . . . . . . . 6 2.1. Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. NSPF-ID Fields . . . . . . . . . . . . . . . . . . . . . 8 2.3. NSP sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 9 2.4. Non-NSP sub-TLVs . . . . . . . . . . . . . . . . . . . . 9 3. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 10 4. NSPF ID Data Plane aspects . . . . . . . . . . . . . . . . . 12 4.1. MPLS Data Plane . . . . . . . . . . . . . . . . . . . . . 12 4.2. SRv6 Data Plane . . . . . . . . . . . . . . . . . . . . . 12 5. NSP Traffic Accounting . . . . . . . . . . . . . . . . . . . 12 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . 13 9.2. Informative References . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 1. Introduction In a network implementing source routing, packets may be transported through the use of segment identifiers (SIDs), where a SID uniquely identifies a segment as defined in [I-D.ietf-spring-segment-routing]. In SR-MPLS, a segment is encoded as a label and an ordered list of segments is encoded as a stack of labels. In SRv6, a segment is encoded as an IPv6 address, with a new type of IPv6 routing header Chunduri, et al. Expires September 24, 2018 [Page 2] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 called SRH. An ordered list of segments is encoded as an ordered list of IPv6 addresses in SRH [I-D.ietf-6man-segment-routing-header]. The segment may include one or more nodes, unidirectional adjacencies between two nodes or service instruction by a particular node in the network. A Non Shortest Path (NSP) could be a Traffic Engineered (TE) path or an explicitly provisioned FRR path or a service chained path. NSP can be described using list of segments in SR. However, this creates a problem of having a relatively large stack imposed on the data packet. A path that is encoded with SIDs can be a loose or strict path. In a strict path all the nodes/links on the path are encoded as SIDs, with the expense of number of total SIDs in the stack. 1.1. Mitigation with MSD and RLD The number of SIDs in the stack a node can impose is referred as Maximum SID Depth (MSD) capability [I-D.ietf-isis-segment-routing-msd], which must be taken into consideration when computing a path to transport a data packet in a network implementing segment routing. [I-D.ietf-isis-mpls-elc] defines Readable Label Depth (RLD) that is used by a head-end to insert Entropy Label pair (ELI/EL) at appropriate depth, so it could be read by transit nodes. There are situations where the source routed path can be excessive as path represented by SR SIDs need to describe all the nodes and ELI/EL based on the readability of the nodes in that path. While MSD (and RLD) capabilities advertisement help mitigate the problem for a central entity to create the right source routed path per application/operator requirements; actual depth is still limited by the underlying hardware in the data path. 1.2. Issues with Increased SID Depth Consider the following network where SR-MPLS data plane is in use and with same SRGB (5000-6000) on all nodes i.e., A1 to A7 and B1 to B7 for illustration: Chunduri, et al. Expires September 24, 2018 [Page 3] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 SID:10 SID:20 SID:30 SID:40 SID:50 SID:300(Ax) SID:60 SID:70 A1-------A2-------A3-------A4-------A5===============A6----------A7 \ / \5 5/ \ SID:310(Ay) \ / \ 10 10/ +-A10-+ \ \10 /10 \ / SID:100 \ \ / SID:80 \A8-----A9/SID:90 \ 40 \ / / \ +---+ \ / /10 B2x:125 \10 \ \/ B1--------B2============B3----B4--------B5-------B6----------B7 SID:110 SID:120 SID:130 SID:140 SID:150 SID:160 SID:170 Figure 1: SR-MPLS Network Global ADJ SIDs are provisioned between A5 and A6 .All other SIDs shown are nodal SID indices. All metrics of the links are set to 1, other values as configured. Shortest Path from A1 to A7: A2-A3-A4-A5-A6-A7 NSP1: From A1 to A7 - A2-A8-B2-B2x-A9-A10-Ax-A7; Pushed Label Stack @A1: 5020:5080:5120:5125:5090:5100:5300:5070 (where B2x is a local ADJ-SID and Ax is a global ADJ-SID) In the above example NSP1 is represented with a combination of Adjacency and Node SIDs with a stack of 8 labels each. However, this value can be larger, if the use of entropy label is desired and based on the RLD capabilities of each node and additional labels required to insert ELI/EL at appropriate places. Though above network is shown with SR-MPLS data plane, problem is similar if the network were a SR-IPv6 network with all SIDs encoded as IPv6 SIDs in SRH. In various SR deployments, the following issues may arise: a. Not all nodes in the path can support MSD or RLD needed to satisfy user/operator requirements, when the number of SIDs increased to describe the source routed path. This problem gets multiplied by four times in SRH compared to MPLS data plane because of the SID size (16 bytes) in SRH. b. Even if all nodes can support the required MSD or RLD, the bigger label stack/depth can cause potential MTU/fragmentation issues. c. In some deployments, it is also required reducing the overhead in the network layer, especially for low packet size packets, where the actual data can be way lesser than all encapsulations and SR path overheads. Chunduri, et al. Expires September 24, 2018 [Page 4] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 Apart from the above some deployments need path accounting statistics for path monitoring and traffic re-optimizations. [I-D.hegde-spring-traffic-accounting-for-sr-paths] proposes a solution, however this further increases the depth of SID stack. The approach could be counter productive in the environments, where SID depth is already causing deployment issues as listed above. To mitigate the above issues, and also to facilitate forwarding plane a mechanism to identify the SR path with a corresponding data plane identifier for accounting of traffic for SR paths, this draft proposes a new IS-IS TLV (Section 2) to advertise the NSPs with Non Shortest Path Forwarding IDentifier (NSPF ID). This draft lays out procedure for IS-IS nodes to how to use NSPF ID TLV in Section 3. With corresponding data plane, Section 3 mechanism, reduces the SID stack in the data plane from 8 SIDs shown in SR-PATH-1 and SR-PATH-2 with a single NSPF ID. This draft also introduce source routed paths with NSPF ID types defined for native IPv4 and IPv6 data planes as defined in Section 2.2. 1.3. Acronyms EL - Entropy Label ELI - Entropy Label Indicator MPLS - Multi Protocol Label Switching MSD - Maximum SID Depth MTU - Maximum Transferrable Unit NSP - Non Shortest Path SID - Segment Identifier SPF - Shortest Path First SR - Segment Routing SRH - Segment Routing Header SR-MPLS - Segment Routing with MPLS data plane SRv6 - Segment Routing with Ipv6 data plane with SRH SRH - IPv6 Segment Routing Header Chunduri, et al. Expires September 24, 2018 [Page 5] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 TE - Traffic Engineering 2. Non Shortest Path Forwarding IDentifier TLV This section describes the encoding of NSPF ID TLV. This TLV can be seen as having 3 logical section viz., encoding od FEC Prefix, encoding of NSPF-ID with description of ordered path with sub-TLVs and a set of optional non-NSP sub-TLVs which can be used to describe one or more parameters of the path. Multiple instances of this TLV MAY be advertised in IS-IS LSPs with different NSPF-ID Type and with corresponding path description sub-TLVS. The NSPF-ID TLV has Type TBD (suggested value xxx), and has the following format: 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 | Reserved | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MT-ID | Prefix Len | FEC Prefix | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // FEC Prefix (continued, variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NSPF-ID Type | NSPF-ID Len | NSPF-ID Flags | NSPF-ID Algo | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // NSPF-ID (continued, variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |No.of NSP-STs | NSP sub-TLVs (Variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |No.of Other-STs| Non-NSP sub-TLVs(variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: NSPF ID TLV Format Type - TBD from IS-IS top level TLV registry. Length - Total length of the value field in bytes (variable). Reserved - 1 Octet reserved bits for future use. Reserved bits MUST be reset on transmission and ignored on receive. Flags - Flags for this TLV are described in Section 2.1. MT-ID - is the multi-topology identifier defined in [RFC5120] with 4 most significant bits reset on transmission and ignored on receive. The remaining 12-bit field contains the MT-ID. Prefix Len - contains the length of the prefix in bits. Only the most significant octets of the Prefix are encoded. Chunduri, et al. Expires September 24, 2018 [Page 6] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 FEC Prefix - represents the Forwarding Equivalence Class at the tail-end of the advertised NSP. The "FEC Prefix" corresponds to a routable prefix of the originating node and it MAY have one of the [RFC7794] flags set (X-Flag/R-Flag/N-Flag). Value of this field MUST be 4 octets for IPv4 "FEC Prefix". Value of this field MUST be 16 octets for IPv6 "FEC Prefix". Encoding is similar to TLV 135 and TLV 236 or MT-Capable [RFC5120] IPv4 (TLV 235) and IPv6 Prefixes (TLV 237) respectively. 2.1. Flags Flags: 1 octet field of NSPD ID TLV has following flags defined. These flags mostly related to applicability of this TLV in an L1 area or entire IS-IS domain: NSPF ID Flags Format 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |S|D|A| Rsrvd | +-+-+-+-+-+-+-+-+ S - If set, the NSPF ID TLV MUST be flooded across the entire routing domain. If the S flag is not set, the NSPF ID TLV MUST NOT be leaked between IS-IS levels. This bit MUST NOT be altered during the TLV leaking D - when the NSPF ID TLV is leaked from IS-IS level-2 to level-1, the D bit MUST be set. Otherwise, this bit MUST be clear. NSPF ID TLVs with the D bit set MUST NOT be leaked from level-1 to level-2. This is to prevent TLV looping across levels. A - The originator of the NSPF ID TLV MUST set the A bit in order to signal that the prefixes and NSPF-IDs advertised in the NSPF ID TLV are directly connected to their originators. If this bit is not set, this allows any other node in the network advertise this TLV on behalf of the originating node of the "FEC Prefix". If the NSPF ID TLV is leaked to other areas/levels the A-flag MUST be cleared. Rsrvd - reserved bits for future use. Reserved bits MUST be reset on transmission and ignored on receive. Chunduri, et al. Expires September 24, 2018 [Page 7] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 2.2. NSPF-ID Fields This represents the actual data plane identifier in the packet and could be of any data plane as defined in type field. Both "FEC Prefix" and NSPF-ID MUST belong to a same node in the network. 1. NSPF-ID Type: This is a new registry (TBD IANA) for this TLV and the defined types are as follows. Type: 1 - MPLS SID/Label Type: 2 Native IPv4 Address Type: 3 Native IPv6 Address Type 4: IPv6 SID in SRv6 with SRH 2. NSPF-ID Len: Length of the NSPF Identifier field in octets and this depends on the NSPF-ID type. See NSPF-ID below for the length of this field and other considerations. 3. NSPF-ID Flags: 1 Octet field for NSPF-ID flags. Some of the bits could be NSPF-ID type specific and each new type MUST define the flags applicable to the NSPF-ID type. For NSPF-ID Type 1, the flags are same as Section 2.1 definition in [I-D.ietf-isis-segment-routing-extensions]. For NSPF-ID Type 2, 3 and NSPF-ID Type 4 only 'R' flag is applicable. Undefined flags for each NSPF-ID type MUST be considered as reserved. Reserved flag bits in each NSPF-ID type specific flags MUST be reset on transmission and ignored on receive. 4. NSPF-ID Algo: 1 octet value represents the SPF algorithm. Algorithm registry is as defined in [I-D.ietf-isis-segment-routing-extensions]. 5. NSPF-ID: This is the NSP forwarding identifier that would be on the data packet. The value of this field is variable and it depends on the NSPF-ID Type. For Type 1, this is and MPLS SID/ Label. For Type 2 this is a 4 byte IPv4 address. For Type 3 and Type 4, it is a 16 byte IPv6 address. For NSPF-ID Type 2, 3 or 4, if the NSPF-ID Len is set to 0, then FEC Prefix would also become the NSPF-ID. In the case when NSPF-ID Len is 0 and NSPF- ID Type is 2, then FEC Prefix length MUST be a 4 byte IPv4 address. Similarly, if NSPF-ID Type is 3 or 4 with NSPF-ID Len is set to 0, then FEC Prefix MUST be of a 16 byte IPv6 Address. For NSPF-ID Type 2, 3 or 4, if the NSPF-ID Len is set to non zero value, then the NSPF-ID MUST not be advertised as a routable prefix in TLV 135, TLV 235, TLV 236 and TLV 237, but that MUST belog to the node where "FEC Prefix" is advertised. 6. No.of NSP-STs: Total number of the NSP sub-TLVs are defined with this 1-octet field. The value MUST NOT be zero. Chunduri, et al. Expires September 24, 2018 [Page 8] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 2.3. NSP sub-TLVs A new sub-TLV registry is created (TBD IANA) called NSP sub-TLVs. These are used to describe the path in the form of set of contiguous and ordered sub-TLVs, with first sub-TLV representing the top of the stack or first segment. These set of ordered TLVs can have both topological SIDs and non-topological SIDs (e.g., service segments). Type 1: SID/Label sub-TLV as defined in [I-D.ietf-isis-segment-routing-extensions]. Only Type is defined and Length/Value fields are per Section 2.3 of the referenced document. Type 2: Prefix SID sub-TLV as defined in [I-D.ietf-isis-segment-routing-extensions]. Only Type is defined and Length/Value fields are per Section 2.1 of the referenced document. Type 3: Adjacency SID sub-TLV as defined in [I-D.ietf-isis-segment-routing-extensions]. Only Type is defined and Length/Value fields are per Section 2.2 of the referenced document. Type 4: Length 4 bytes, value is 4 bytes IPv4 address encoded similar to IPv4 FEC Prefix described above. Type 5: Length 16 bytes; value is 16 bytes IPv6 address encoded similar to IPv6 FEC Prefix described above. Type 6: SRv6 Node SID TLV as defined in [I-D.bashandy-isis-srv6-extensions]. Only Type is defined and Length/Value fields are per Section 4 of the referenced document. Type 7: SRv6 Adjacency-SID sub-TLV as defined in [I-D.bashandy-isis-srv6-extensions]. Only Type is defined and Length/Value fields are per Section 6.1 of the referenced document. Type 8: SRv6 LAN Adjacency-SID sub-TLV as defined in [I-D.bashandy-isis-srv6-extensions]. Only Type is defined and Length/Value fields are per Section 6.2 of the referenced document. 2.4. Non-NSP sub-TLVs NSPF ID TLV also defines a new sub-TLV registry (TBD IANA) for defining extensible set of sub-TLVs other than describing the path sub-TLVs. Total number of the path sub-TLVs to describe the path are Chunduri, et al. Expires September 24, 2018 [Page 9] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 defined in 1-octet field "No.of Other-STs" just before the Non-NSP sub-TLVs. This field serves as a demarcation for set of ordered NSP sub-TLVs and Non-NSP sub-TLVs. Type 1: Length 0 No value field. Specifies a counter to count number of packets forwarded on this NSPF-ID. Type 2: Length 0 No value field. Specifies a counter to count number of bytes forwarded on this NSPF-ID specified in the network header (e.g. IPv4, IPv6). Type 3: Length 4 bytes, and Value is metric of this path represented through the NSPF-ID. Different nodes can advertise the same NSPF-ID for the same FEC-Prefix with a different set of NSP sub-TLVs and the receiving node MUST consider the lowest metric value (TBD more, what happens when metric is same for two different set of NSP sub-TLVs). 3. Elements of Procedure As specified in Section 1, a NSP can be a TE path, locally provisioned by the operator. Consider the following IS-IS network to describe the operation of NSPF ID TLV as defined in Section 2: 1 _______ / 1 \ +---R2-------R3---+ / \_______/ \ / 1 \ 1 / 2 \ 1 / ______ \ / / \ \ R1------R6 R7-----------R4 \ 2 \______/ 2 /\ \ 2 / \ 3 \ / 3 \1 \ 4 / \ +----R8------R9-----R10------R12 \ 1 / 1 \ / 1 +----R11---+ Figure 3: IS-IS Network In the above diagram (Figure 3) node R1 is an ingress node, or a head-end node, and the node R4 may be an egress node or another head- Chunduri, et al. Expires September 24, 2018 [Page 10] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 end node. The numbers shown on each of the links between nodes R1-R11 indicate a IS-IS metric as provisioned by the operator. R1 may be configured to receive TE source routed path information from a central entity (PCE or Controller) that comprise NSP information which relates to sources that are attached to R1. It is also possible to have an NSP provisioned locally by the operator for non- TE needs (FRR or for chaining certain services). The NSP information is encoded as an ordered list of segments from source to a destination node in the network and is represented with an NSPF-ID. The NSP information includes NSP sub-TLVS which represents both topological and non-topological segments and specifies the actual path towards a FEC/Prefix by R4. The shortest path towards R4 from R1 are through the following sequence of nodes: R1-R2-R3-R4 based on the configured metrics. The central entity may define a few NSPs from R1 to R4 that deviate from the shortest path based on other network characteristic requirements as requested by an application or service. For example, the network characteristics or performance requirements may include bandwidth, jitter, latency, throughput, error rate, etc. A first NSP may be identified by NSPF ID = 2 and may include the path of R1-R6-R7-R4 for a FEC Prefix advertised by R4. A second NSP may be identified by NSPF ID = 3 and may include the path of R1-R8-R9-R10-R4. Though these example shows NSP with all nodal SIDs, it is possible to have an NSP with combination of node and adjacency SIDS (local or global) or with non-topological segments along with these. Each receiving node, determine whether an advertised NSP includes information regarding the receiving node. This MAY be done, during the end of the SPF computation for MTID that is advertised in this TLV and for the FEC/Prefix. For example, node R9 receives the NSP information, and ignores the first NSP identified by NSPF ID = 2 because this NSP does not include node R9. However, node R9 may determine that the second NSP identified by NSPF ID = 3 does include the node R9 for the FEC prefix advertised by R4. Therefore, node R9 updates the local forwarding database to include an entry for the destination address of R4 that indicates, that when a data packet comprising a NSPF-ID of 3 is received, forward the data packet to node R10 instead of R11. This is even though from R9 the shortest path cost to reach R4 via R11 is 3 (R9-R11-R12-R4) it chooses the nexthop to R10 to reach R4 as specified in the NSP. Same process happens to all the nodes on the NSP. In summary, the receiving node checks if this node is on the path, if yes, it adjusts the shortest path nexthop computed towards "FEC Prefix" to the shortest path nexthop towards the next segment as specified in the NSP. Chunduri, et al. Expires September 24, 2018 [Page 11] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 4. NSPF ID Data Plane aspects Data plane NSPF ID is selected by the entity (e.g., a controller, locally provisioned) which selects a particular NSP in the network. Section 2.2 defines various data plane identifier types and a corresponding data plane identifier type and identifier is selected by the entity which selects the NSP. Other data planes other than described below can also use this TLV to describe the NSP. Further details TBD. 4.1. MPLS Data Plane If NSPF-ID Type is 1, the NSP belongs to SR-MPLS data plane and the complete NSP stack is represented with a unique SR SID/Label and this gets programmed on the data plane with the appropriate nexthop computed as specified in Section 3 . NSP path description here is a set of ordered SID TLVs and MAY contain both topological and non- topological segments. 4.2. SRv6 Data Plane If NSPF-ID Type is 4, the NSP belongs to SRv6 with SRH data plane and the complete NSP stack is represented with IPv6 SIDs and this gets programmed on the data plane with the appropriate nexthop computed as specified in Section 3. NSP path description here is a set of ordered SID TLVs and MAY contain both topological and non-topological segments (e.g. network functions, service functions). If NSPF-ID Type is 3 this is the traditional IPv6 mode ([I-D.ietf-dmm-srv6-mobile-uplane]) and this doesn't include SRH and NSP stack description is similar to NSPF-ID Type 4 as described. 5. NSP Traffic Accounting As described in Section 2.4, each node described in the NSP optional sub-TLVs can provision the hardware to account the traffic statistics as indicated in the non-NSP sub-TLVs for the actual data traffic. with this more granular and dynamic enablement of traffic statistics for only certain NSPs would be possible. This approach, thus is more safe and secure than any mechanism that involves creating state in the nodes with data traffic itself. This is because creation and deletion of the traffic accounting state for NSPs happen through IS- IS LSP processing and IS-IS security Section 8 options are applicable to this TLV. How the traffic accounting is distributed to a central entity is out of scope of this document. One can use any method (e.g. gRPC) to extract the NSPF-ID traffic stats from various nodes along the path. Chunduri, et al. Expires September 24, 2018 [Page 12] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 6. Acknowledgements Thanks to Richard Li, Alex Clemm, Kiran Makhijani and Lin Han for initial discussions on this topic. Earlier versions of draft-ietf-isis-segment-routing-extensions have a mechanism to advertise EROs through Binding SID. 7. IANA Considerations This document requests the following new TLVin IANA IS-IS TLV code- point registry. TLV # Name ----- -------------- TBD NSPF ID TLV This document also requests IANA to create new registries for NSPF-ID Type, NSP sub-TLVs and Non-NSP sub-TLVs in NSPF ID TLV as described in Section 2. 8. Security Considerations Security concerns for IS-IS are addressed in [RFC5304] and [RFC5310]. Further security analysis for IS-IS protocol is done in [RFC7645]. Advertisement of the additional information defined in this document introduces no new security concerns in IS-IS protocol. However as this extension is related to SR-MPLS and SRH data planes as defined in [I-D.ietf-spring-segment-routing], those particular data plane security considerations does apply here. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 9.2. Informative References [I-D.bashandy-isis-srv6-extensions] Ginsberg, L., Bashandy, A., Filsfils, C., Decraene, B., and Z. Hu, "IS-IS Extensions to Support Routing over IPv6 Dataplane", draft-bashandy-isis-srv6-extensions-02 (work in progress), March 2018. Chunduri, et al. Expires September 24, 2018 [Page 13] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 [I-D.hegde-spring-traffic-accounting-for-sr-paths] Hegde, S., "Traffic Accounting for MPLS Segment Routing Paths", draft-hegde-spring-traffic-accounting-for-sr- paths-01 (work in progress), October 2017. [I-D.ietf-6man-segment-routing-header] Previdi, S., Filsfils, C., Leddy, J., Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header (SRH)", draft-ietf-6man-segment-routing-header-10 (work in progress), March 2018. [I-D.ietf-dmm-srv6-mobile-uplane] Matsushima, S., Filsfils, C., Kohno, M., Camarillo, P., daniel.voyer@bell.ca, d., and C. Perkins, "Segment Routing IPv6 for Mobile User Plane", draft-ietf-dmm-srv6-mobile- uplane-01 (work in progress), March 2018. [I-D.ietf-isis-mpls-elc] Xu, X., Kini, S., Sivabalan, S., Filsfils, C., and S. Litkowski, "Signaling Entropy Label Capability and Readable Label-stack Depth Using IS-IS", draft-ietf-isis- mpls-elc-03 (work in progress), January 2018. [I-D.ietf-isis-segment-routing-extensions] Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., Gredler, H., Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS Extensions for Segment Routing", draft-ietf-isis- segment-routing-extensions-15 (work in progress), December 2017. [I-D.ietf-isis-segment-routing-msd] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, "Signaling MSD (Maximum SID Depth) using IS-IS", draft- ietf-isis-segment-routing-msd-09 (work in progress), January 2018. [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf-spring-segment-routing-15 (work in progress), January 2018. [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, . Chunduri, et al. Expires September 24, 2018 [Page 14] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 5304, DOI 10.17487/RFC5304, October 2008, . [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., and M. Fanto, "IS-IS Generic Cryptographic Authentication", RFC 5310, DOI 10.17487/RFC5310, February 2009, . [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014, . [RFC7645] Chunduri, U., Tian, A., and W. Lu, "The Keying and Authentication for Routing Protocol (KARP) IS-IS Security Analysis", RFC 7645, DOI 10.17487/RFC7645, September 2015, . [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, March 2016, . Authors' Addresses Uma Chunduri (editor) Huawei USA 2330 Central Expressway Santa Clara, CA 95050 USA Email: uma.chunduri@huawei.com Jeff Tantsura Nuage Networks 755 Ravendale Drive Mountain View, CA 94043 USA Email: jefftant.ietf@gmail.com Chunduri, et al. Expires September 24, 2018 [Page 15] Internet-DraUsage of Non Shortest Path Forwarding (NSPF) IDs March 2018 Yingzhen Qu Huawei USA 2330 Central Expressway Santa Clara, CA 95050 USA Email: yingzhen.qu@huawei.com Chunduri, et al. Expires September 24, 2018 [Page 16]