Internet DRAFT - draft-chen-spring-shorter-srv6-yang

draft-chen-spring-shorter-srv6-yang







SPRING WG                                                        R. Chen
Internet-Draft                                                   D. Zhao
Intended status: Standards Track                         ZTE Corporation
Expires: April 18, 2021                                 October 15, 2020


                    YANG data model for shorter srv6
                 draft-chen-spring-shorter-srv6-yang-01

Abstract

   This document is to define the YANG data model for shorter srv6(
   Compressing SRv6 ).

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 18, 2021.

Copyright Notice

   Copyright (c) 2020 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.






Chen & Zhao              Expires April 18, 2021                 [Page 1]

Internet-Draft      YANG data model for shorter srv6        October 2020


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Shorter SRv6 Types  . . . . . . . . . . . . . . . . . . . . .   2
   3.  Configuration . . . . . . . . . . . . . . . . . . . . . . . .   2
     3.1.  Shorter SRv6 base . . . . . . . . . . . . . . . . . . . .   2
     3.2.  Shorter SRv6 Static . . . . . . . . . . . . . . . . . . .   3
   4.  YANG Module . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Shorter SRv6 type . . . . . . . . . . . . . . . . . . . .   6
     4.2.  Shorter SRv6 Base . . . . . . . . . . . . . . . . . . . .  10
     4.3.  Shorter SRv6 Static . . . . . . . . . . . . . . . . . . .  12
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  22
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  22
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .  22
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  23

1.  Introduction

   YANG[RFC6020]is a data definition language that was introduced to
   define the contents of a conceptual data store that allows networked
   devices to be managed using NETCONF [RFC6241].  This document defines
   a YANG data model for the configuration of shorter srv6.

   [I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that
   enables the use of a shorter segment identifier, such as 32-bits
   Label format SID or 32-bits IP address format SID.

   [I-D.ietf-spring-srv6-yang]introduces a YANG data model for base SRv6
   and SRv6 Static application.

   This document is to define the YANG data model for shorter srv6(
   Compressing SRv6 )

2.  Shorter SRv6 Types

   The Shorter-SRv6-Types augment "ietf-srv6-types"
   [I-D.ietf-spring-srv6-yang], and defines new srv6-endpoint-type: SRv6
   Endpoint behaviors identity type.

3.  Configuration

3.1.  Shorter SRv6 base

   The Shorter-SRv6-base configuration augments the SRv6-base locator
   tree [I-D.ietf-spring-srv6-yang]"/rt:routing/rt:srv6", and defines
   new Parameters.





Chen & Zhao              Expires April 18, 2021                 [Page 2]

Internet-Draft      YANG data model for shorter srv6        October 2020


   Following is a simplified graphical tree representation of the data
   model for Shorter SRv6 base configuration.

     module: ietf-shorter-srv6-base
           augment /rt:routing/rt:srv6:
            +--rw shorter-srv6
               +--rw node-capabilities
                      +--rw UET-support?             enumeration


       augment /rt:routing/rt:srv6/rt:locators/rt:locator/rt:prefix:
            +--rw lb-length     srv6-types:srv6-lb-len



3.2.  Shorter SRv6 Static

   The Shorter-SRv6-Static configuration augments the SRv6-base locator
   tree "/rt:routing/srv6:srv6/srv6:locators/srv6:locator/rt:prefix:",
   and defines new Parameters.

   Following is a simplified graphical tree representation of the data
   model for Shorter SRv6 Static configuration.


        module: ietf-shorter-srv6-static
        augment /rt:routing/srv6:srv6/srv6:locators/srv6:locator:/srv6:static/srv6:local-sids/srv6:sid:
           +--rw end_uet32
           +--rw end_psp_uet32
           +--rw end_usp_uet32
           +--rw end_usd_uet32
           +--rw end_psp_usp_uet32
           +--rw end_psp_usp_usd_uet32
           +--rw end.x_uet32
       |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
       +--rw end.x_psp_uet32



Chen & Zhao              Expires April 18, 2021                 [Page 3]

Internet-Draft      YANG data model for shorter srv6        October 2020


           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
           +--rw end.x_usp_uet32
           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
           +--rw end.x_usd_uet32    |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
       +--rw end.x_psp_usp_uet32
           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id



Chen & Zhao              Expires April 18, 2021                 [Page 4]

Internet-Draft      YANG data model for shorter srv6        October 2020


       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
           +--rw end.x_psp_usd_uet32
           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
           +--rw end.x_usp_usd_uet32
           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid
           +--rw end-x_psp_usp_usd_uet32
           |  +--rw protected?   boolean
       |  +--rw paths
       |     +--rw path* [path-index]
       |        +--rw path-index           uint8
       |        +--rw interface?           if:interface-ref
       |        +--rw next-hop?            inet:ipv6-address
       |        +--rw table?               srv6-types:table-id
       |        +--rw weight?              uint32
       |        +--rw role?                enumeration
       |        +--rw backup-path-index?   uint8
       |        +--rw sid-list
       |           +--rw out-sid* [sid]
       |              +--rw sid    srv6-types:srv6-sid



Chen & Zhao              Expires April 18, 2021                 [Page 5]

Internet-Draft      YANG data model for shorter srv6        October 2020


           +--rw end.t_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
           +--rw end.t_psp_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
           +--rw end.t_psp_usp_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
       +--rw end.t_usd_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
       +--rw end.t_psp_usd_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
       +--rw end.t_usp_usd_uet32
           |  +--rw lookup-table-ipv6    srv6-types:table-id
           +--rw end-t_psp_usp_usd_uet32
              +--rw lookup-table-ipv6    srv6-types:table-id

4.  YANG Module

4.1.  Shorter SRv6 type

   The Shorter-SRv6-Types augment "ietf-srv6-types"
   [I-D.ietf-spring-srv6-yang], and defines new srv6-endpoint-type.

        <CODEBEGINS> file "ietf-shorter-srv6-type@2020-03-30.yang"

        module ietf-shorter-srv6-types {
        yang-version 1.1;

        namespace "urn:ietf:params:xml:ns:yang:ietf-shorter-srv6-types";
        prefix "shorter-srv6-types";

        import ietf-inet-types {
        prefix "inet";
                reference "RFC6991: Common YANG Data Types";
        }
    import ietf-srv6-types {
    prefix srv6-types;
    reference "RFC XXXX: YANG Data Model for SRv6";
    }

        organization
       "IETF SPRING - SPRING Working Group";
     contact
       "WG Web:   <http://tools.ietf.org/wg/spring/>
        WG List:  <mailto:spring@ietf.org>
        Editor: Ran Chen
                    <mailto:chen.ran@zte.com.cn>
            Editor: Detao Zhao
                    <mailto:zhao.detao@zte.com.cn>



Chen & Zhao              Expires April 18, 2021                 [Page 6]

Internet-Draft      YANG data model for shorter srv6        October 2020


                        ";
        description
         "The YANG module defines a generic configuration model for SFF.
                  Copyright (c) 2019 IETF Trust and the persons
          identified as authors of the code.  All rights reserved.

          Redistribution and use in source and binary forms, with or
          without modification, is permitted pursuant to, and subject
          to the license terms contained in, the Simplified BSD License
          set forth in Section 4.c of the IETF Trust's Legal Provisions
          Relating to IETF Documents
          (https://trustee.ietf.org/license-info).
          This version of this YANG module is part of RFC XXXX; see
          the RFC itself for full legal notices.";

       revision "2020-03-30"{
             description "Initial revision.";
         reference "RFC XXXX: YANG Data Model for Shorter SRv6 type.";
     }

          /* Identities */
     identity srv6-endpoint-type {
      description
        "Base identity from which specific SRv6 Endpoint types are
        derived.";
    }
   identity End_UET32 {
    base srv6-endpoint-type;
    description
          "End function (variant: UET32 only).";
    }

    identity End_PSP_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:PSP and UET32).";
    }

        identity End_USP_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:USP and UET32).";
    }
    identity End_PSP_USP_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:PSP, USP, and UET32).";
    }



Chen & Zhao              Expires April 18, 2021                 [Page 7]

Internet-Draft      YANG data model for shorter srv6        October 2020


        identity USD_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant: USD, and UET32).";
    }
        identity End_PSP_USD_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:PSP, USD, and UET32).";
    }
        identity End_USP_USD_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:USP, USD, and UET32).";
    }
        identity End_PSP_USP_USD_UET32{
    base srv6-endpoint-type;
    description
          "End function (variant:PSP, USP, USD, and UET32).";
    }

        identity End.X_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant: UET32).";
    }
    identity End.X_PSP_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:PSP and UET32).";
    }
        identity End.X_USP_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant: USP and UET32).";
    }
        identity End.X_PSP_USP_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:PSP , USP and UET32).";
    }
        identity End.X_USD_UET32 {
    base srv6-endpoint-type;
    description



Chen & Zhao              Expires April 18, 2021                 [Page 8]

Internet-Draft      YANG data model for shorter srv6        October 2020


          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:USD and UET32).";
    }
        identity End.X_PSP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:PSP, USD and UET32).";
    }
        identity End.X_USP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:USP, USD and UET32).";
    }
        identity End.X_PSP_USP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with cross-connect to an array
           of layer-3 adjacencies (variant:PSP, USP, USD and UET32).";
    }
        identity End.T_UET32 {
    base srv6-endpoin-type;
    description
          "Endpoint with specific IPv6 table lookup
          (variant: UET32).";
    }
        identity End.T_PSP_UET32 {
    base srv6-endpoin-type;
    description
          "Endpoint with specific IPv6 table lookup
          (variant: PSP and UET32).";
    }
        identity End.T_USP_UET32 {
    base srv6-endpoin-type;
    description
          "Endpoint with specific IPv6 table lookup
          (variant: USP and UET32).";
    }
        identity End.T_PSP_UET_UET32 {
    base srv6-endpoin-type;
    description
          "Endpoint with specific IPv6 table lookup
          (variant: PSP ,UET and UET32).";
    }
        identity End.T_USD_UET32 {
    base srv6-endpoint-type;
    description



Chen & Zhao              Expires April 18, 2021                 [Page 9]

Internet-Draft      YANG data model for shorter srv6        October 2020


          "Endpoint with specific IPv6 table lookup (variant:USD and UET32).";
    }
        identity End.T_PSP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with specific IPv6 table lookup (variant:PSP, USD and UET32).";
    }
        identity End.T_USP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with specific IPv6 table lookup (variant:USP, USD and UET32).";
    }
        identity End.T_PSP_USP_USD_UET32 {
    base srv6-endpoint-type;
    description
          "Endpoint with specific IPv6 table lookup(variant:PSP, USP, USD and UET32).";
    }

        typedef uec-support-type {
    type enumeration {
     enum 128bit SID { value 1; description "The node only support to use classical 128-bits SRv6 SID."; }
     enum 128-bits SRv6 SID and 32-bits IP U-SID { description "The node support to use both classical 128-bits SRv6 SID and 32-bits IP U-SID"; }
     enum 128-bits SRv6 SID and 16-bits U-SID { description "The node support to use both classical 128-bits SRv6 SID and 16-bits U-SID"; }
     enum 128-bits SRv6 SID, 32-bits IP U-SID, and 16-bits U-SID { description "The node support to use both classical 128-bits SRv6 SID, 32-bits IP U-SID, and 16-bits U-SID"; }
    }
    description
      "The node capabilities.";
  }

         typedef srv6-lb-length {
      type uint8 {
        range "8 .. 88";
      }
      description
         "This type defines an SRv6 locator block len with range constraints";
  }
        <CODE ENDS>

4.2.  Shorter SRv6 Base

 <CODEBEGINS> file "ietf-shorter-srv6-base@2020-03-30.yang"

 module ietf-shorter-srv6-base {
 yang-version 1.1;
 namespace "urn:ietf:params:xml:ns:yang:ietf-shorter-srv6-base";
    prefix shorter-srv6;

    import ietf-srv6-base  {



Chen & Zhao              Expires April 18, 2021                [Page 10]

Internet-Draft      YANG data model for shorter srv6        October 2020


    prefix "srv6";
    reference "RFC 8343: A YANG Data Model for SRv6 base.";
    }

    import ietf-srv6-types {
    prefix srv6-types;
    reference "RFC XXXX: YANG Data Model for SRv6 type";
    }
 import ietf-shhorter-srv6-types {
    prefix shourter-srv6-types;
    reference "RFC XXXX: YANG Data Model for shorter SRv6 type";
    }
    import ietf-routing {
    prefix "rt";
    reference
      "RFC 8349: A YANG Data Model for Routing Management
      (NMDA version)";
    }
    organization
       "IETF SPRING - SPRING Working Group";
     contact
       "WG Web:   <http://tools.ietf.org/wg/spring/>
        WG List:  <mailto:spring@ietf.org>
        Editor: Ran Chen
      <mailto:chen.ran@zte.com.cn>
     Editor: Detao Zhao
      <mailto:zhao.detao@zte.com.cn>
   ";
 description
         "The YANG module defines a generic configuration model for SFF.
    Copyright (c) 2019 IETF Trust and the persons
          identified as authors of the code.  All rights reserved.

          Redistribution and use in source and binary forms, with or
          without modification, is permitted pursuant to, and subject
          to the license terms contained in, the Simplified BSD License
          set forth in Section 4.c of the IETF Trust's Legal Provisions
          Relating to IETF Documents
          (https://trustee.ietf.org/license-info).
          This version of this YANG module is part of RFC XXXX; see
          the RFC itself for full legal notices.";

       revision "2020-03-30"{
      description "Initial revision.";
         reference "RFC XXXX: YANG Data Model for Shorter SRv6 .";
     }
    augment "/rt:routing/rt:srv6" {
   description



Chen & Zhao              Expires April 18, 2021                [Page 11]

Internet-Draft      YANG data model for shorter srv6        October 2020


        "This augments SRv6 base data model with Shorter SRv6.";
  grouping shorter-srv6{
      description
              "SRv6 node capabilities grouping";
   container node-capabilities {
     description "SRv6 node capabilities."
               leaf uec-support-type{
       type shorter-srv6-types:uec-support-type;
    description "The node capabilities for UET."
                 }
    }
   }
  }
    augment "/rt:routing/rt:srv6/rt:locators/rt:locator/rt:prefix" {
    description
        "This augments SRv6 base data model with Shorter SRv6.";
  leaf srv6-lb-length{
     type shorter-srv6-types:srv6-lb-len;
       description "SRv6 locator block len with range constraints";
     }
    }
  }
  <CODE ENDS>

4.3.  Shorter SRv6 Static

        <CODEBEGINS> file "ietf-shorter-srv6-type@2020-03-30.yang"
        module ietf-shorter-srv6-base {
        yang-version 1.1;
        namespace "urn:ietf:params:xml:ns:yang:ietf-shorter-srv6-base";
    prefix shorter-srv6;

    import ietf-srv6-base  {
    prefix "srv6";
    reference "RFC 8343: A YANG Data Model for SRv6 base.";
    }

    import ietf-srv6-types {
    prefix srv6-types;
    reference "RFC XXXX: YANG Data Model for SRv6";
    }
    import ietf-routing {
    prefix "rt";
    reference
      "RFC 8349: A YANG Data Model for Routing Management
      (NMDA version)";
    }
        import ietf-srv6-static  {



Chen & Zhao              Expires April 18, 2021                [Page 12]

Internet-Draft      YANG data model for shorter srv6        October 2020


    prefix srv6-static ;
    reference "RFC XXXX: YANG Data Model for SRv6 static application.";
    }
        import ietf-shhorter-srv6-types {
    prefix shourter-srv6-types;
    reference "RFC XXXX: YANG Data Model for shorter SRv6 type";
    }
    organization
       "IETF SPRING - SPRING Working Group";
     contact
       "WG Web:   <http://tools.ietf.org/wg/spring/>
        WG List:  <mailto:spring@ietf.org>
        Editor: Ran Chen
                    <mailto:chen.ran@zte.com.cn>
            Editor: Detao Zhao
                    <mailto:zhao.detao@zte.com.cn>
                        ";
        description
         "The YANG module defines a generic configuration model for SFF.
                  Copyright (c) 2019 IETF Trust and the persons
          identified as authors of the code.  All rights reserved.

          Redistribution and use in source and binary forms, with or
          without modification, is permitted pursuant to, and subject
          to the license terms contained in, the Simplified BSD License
          set forth in Section 4.c of the IETF Trust's Legal Provisions
          Relating to IETF Documents
          (https://trustee.ietf.org/license-info).
          This version of this YANG module is part of RFC XXXX; see
          the RFC itself for full legal notices.";

       revision "2020-03-30"{
             description "Initial revision.";
         reference "RFC XXXX: YANG Data Model for Shorter SRv6 .";
     }


  grouping shorter-srv6-sid-config {
    description
      "Configuration parameters relating to Shorter SRv6 sid.";

    leaf function {
      type srv6-types:srv6-func-value;
      description
        "SRv6 function value.";
    }
    leaf end-behavior-type {
      type identityref {



Chen & Zhao              Expires April 18, 2021                [Page 13]

Internet-Draft      YANG data model for shorter srv6        October 2020


        base shorter-srv6-types:srv6-endpoint-type;
     }
      mandatory true;
      description
        "Type of SRv6 end behavior.";
    }

         container end_uet32 {
      when "../end-behavior-type = 'End_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: UET32).";
      }
      description
        "The Endpoint function is the most basic function.
         FIB lookup on updated DA and forward accordingly
         to the matched entry.
         This is the SRv6 instantiation of a Prefix SID
         (variant: UET32)";
      }

         container end_psp_uet32 {
      when "../end-behavior-type = 'End_PSP_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: PSP and UET32).";
      }
      description
        "The Endpoint function is the most basic function.
         FIB lookup on updated DA and forward accordingly
         to the matched entry.
         This is the SRv6 instantiation of a Prefix SID
         (variant: PSP and UET32)";

    }
     container end_usp_uet32 {
      when "../end-behavior-type = 'End_USP_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: USP and UET32).";
      }
      description
        " This is the SRv6 instantiation of a Prefix SID
         (variant: USP and UET32)";

     container end_psp_usp_uet32 {
      when "../end-behavior-type = 'End_PSP_USP_UET32'" {
        description



Chen & Zhao              Expires April 18, 2021                [Page 14]

Internet-Draft      YANG data model for shorter srv6        October 2020


          "This container is valid only when the user chooses End
           behavior (variant: PSP/USP/UET32).";
      }
      description
        " This is the SRv6 instantiation of a Prefix SID
         (variant: PSP/USP/UET32)";
    }
        }
        container end_usd_uet32 {
      when "../end-behavior-type = 'End_USD_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: USD/UET32).";
      }
      description
        "This is the SRv6 instantiation of a Prefix SID
         (variant: USD/UET32)";
    }

        container end_psp_usd_uet32 {
      when "../end-behavior-type = 'End_PSP_USD_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: PSP/USD/UET32).";
      }
      description
        "This is the SRv6 instantiation of a Prefix SID
         (variant: PSP/USD/UET32)";
      }
    container end_psp_usp_usd_uet32 {
      when "../end-behavior-type = 'End_PSP_USP_IUSD_UET32'" {
        description
          "This container is valid only when the user chooses End
           behavior (variant: PSP/USP/USD/UET32).";
      }
      description
        "This is the SRv6 instantiation of a Prefix SID
         (variant: PSP/USP/USD/UET32)";
    }

          container end-t_psp_uet32 {
      when "../end-behavior-type = 'End.T_PSP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: PSP/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: PSP/UET32).";



Chen & Zhao              Expires April 18, 2021                [Page 15]

Internet-Draft      YANG data model for shorter srv6        October 2020


        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

         container end-t_uet32 {
      when "../end-behavior-type = 'End.T_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: UET32).";
      }
       description
        "Endpoint with specific IPv6 table lookup (variant: UET32).";
        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

  container end-t_usp_uet32 {
      when "../end-behavior-type = 'End.T_USP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: USP/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: USP/UET32).";
        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

     container end-t_psp_usp_uet32 {
      when "../end-behavior-type = 'End.T_PSP_USP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: PSP/USP/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: PSP/USP/UET32).";



Chen & Zhao              Expires April 18, 2021                [Page 16]

Internet-Draft      YANG data model for shorter srv6        October 2020


        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

   container end-t_usd_uet32 {
      when "../end-behavior-type = 'End.T_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: USD/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: USD/UET32).";
        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

        container end-t_psp_usd_uet32 {
      when "../end-behavior-type = 'End.T_PSP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: PSP/USD/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: PSP/USD/UET32).";
        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

        container end-t_usp_usd_uet32 {
      when "../end-behavior-type = 'End.T_USP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: USP/USD/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: USP/USD/UET32).";



Chen & Zhao              Expires April 18, 2021                [Page 17]

Internet-Draft      YANG data model for shorter srv6        October 2020


        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

        container end-t_psp_usp_usd_uet32 {
      when "../end-behavior-type = 'End.T_PSP_USP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.T behavior (variant: PSP/USP/USD/UET32).";
      }
      description
        "Endpoint with specific IPv6 table lookup (variant: PSP/USP/USD/UET32)";
        leaf lookup-table-ipv6 {
          type srv6-types:table-id;
          mandatory true;
          description
            "Table Id for lookup on updated DA (next segment)";
        }
    }

        container end-x_uet32 {
      when "../end-behavior-type = 'End.X_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: UET32).";
      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }
      uses srv6-static:multi-paths-v6;
    }

        container end-x_psp_uet32 {
      when "../end-behavior-type = 'End.X_PSP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: PSP/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: PSP/UET32).";



Chen & Zhao              Expires April 18, 2021                [Page 18]

Internet-Draft      YANG data model for shorter srv6        October 2020


      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
    }

    container end-x_usp_uet32 {
      when "../end-behavior-type = 'End.X_USP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: USP/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: USP/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
    }

   container end-x_psp_usp_uet32 {
      when "../end-behavior-type = 'End.X_PSP_USP_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: PSP/USP/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: PSP/USP/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
    }

        container end-x_usd_uet32 {
      when "../end-behavior-type = 'End.X_USD_UET32'" {
        description



Chen & Zhao              Expires April 18, 2021                [Page 19]

Internet-Draft      YANG data model for shorter srv6        October 2020


          "This container is valid only when the user chooses
           End.X behavior (variant: USD/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: USD/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }
      uses srv6-static:multi-paths-v6;
    }
        container end-x_psp_usd_uet32 {
      when "../end-behavior-type = 'End.X_PSP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: PSP/USD/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: PSP/USD/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
    }
        container end-x_usp_usd_uet32 {
      when "../end-behavior-type = 'End.X_USP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: USP/USD/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: USP/USD/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
    }




Chen & Zhao              Expires April 18, 2021                [Page 20]

Internet-Draft      YANG data model for shorter srv6        October 2020


         container end-x_psp_usp_usd_uet32 {
      when "../end-behavior-type = 'End.X_PSP_USP_USD_UET32'" {
        description
          "This container is valid only when the user chooses
           End.X behavior (variant: PSP/USP/USD/UET32)";
      }
      description
        "Endpoint with cross-connect to an array of layer-3 adjacencies (variant: PSP/USP/USD/UET32).";

      leaf protected {
        type boolean;
        default false;
        description "Is Adj-SID protected?";
      }

      uses srv6-static:multi-paths-v6;
     }
        }

        grouping shorter-srv6-static-cfg {
    description
      "Grouping configuration and operation for Shorter SRv6 sid.";
    list sid {
       key "function";
       description "List of locally instantiated SIDs";
        uses shorter-srv6-sid-config;
      }
  }
        augment"/rt:routing/srv6:srv6/srv6:locators/srv6:locator:/srv6:static/srv6:local-sids/srv6:sid"{
           description
          "This augments SRv6 static data model with Shorter static SRv6.";
     leaf end-behavior-type {
       type identityref {
         base shorter-srv6-types:srv6-endpoint-type;
          }
         mandatory true;
         description
           "Type of SRv6 end behavior.";
       }
            uses shorter-srv6-static-cfg;
     }
        }
                <CODE ENDS>








Chen & Zhao              Expires April 18, 2021                [Page 21]

Internet-Draft      YANG data model for shorter srv6        October 2020


5.  Security Considerations

   TBD.

6.  IANA Considerations

   TBD.

7.  Normative References

   [I-D.ietf-6man-segment-routing-header]
              Filsfils, C., Dukes, D., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", draft-ietf-6man-segment-routing-header-26 (work in
              progress), October 2019.

   [I-D.ietf-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
              Matsushima, S., and Z. Li, "SRv6 Network Programming",
              draft-ietf-spring-srv6-network-programming-24 (work in
              progress), October 2020.

   [I-D.ietf-spring-srv6-yang]
              Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah,
              H., Voyer, D., Matsushima, S., Horiba, K., Abdelsalam, A.,
              and J. Rajamanickam, "YANG Data Model for SRv6 Base and
              Static", draft-ietf-spring-srv6-yang-00 (work in
              progress), September 2020.

   [I-D.mirsky-6man-unified-id-sr]
              Cheng, W., Mirsky, G., Peng, S., Aihua, L., and G. Mishra,
              "Unified Identifier in IPv6 Segment Routing Networks",
              draft-mirsky-6man-unified-id-sr-07 (work in progress),
              July 2020.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.







Chen & Zhao              Expires April 18, 2021                [Page 22]

Internet-Draft      YANG data model for shorter srv6        October 2020


Authors' Addresses

   Ran Chen
   ZTE Corporation
   No. 50 Software Ave, Yuhuatai Distinct
   Nanjing, P.R.China
   China

   Email: chen.ran@zte.com.cn


   Detao zhao
   ZTE Corporation
   No. 50 Software Ave, Yuhuatai Distinct
   Nanjing, P.R.China
   China

   Email: zhao.detao@zte.com.cn

































Chen & Zhao              Expires April 18, 2021                [Page 23]