Cisco-IOS-XR-segment-routing-srv6-oper-sub1

This submodule contains a collection of YANG definitions for Cisco IOS-XR segment-routing-srv6 package operational data. Copyri...

  • Version: 2020-12-11

    Cisco-IOS-XR-segment-routing-srv6-oper-sub1@2020-12-11


    
      submodule Cisco-IOS-XR-segment-routing-srv6-oper-sub1 {
    
        yang-version 1;
    
        belongs-to
          Cisco-IOS-XR-segment-routing-srv6-oper {
            prefix
              Cisco-IOS-XR-segment-routing-srv6-oper;
        }
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This submodule contains a collection of YANG definitions
         for Cisco IOS-XR segment-routing-srv6 package operational data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-11" {
          description
            "Update manager show command for 2 passes
           2020-10-16
             Rename SID count fields in SID manager summary. sids_count only includes non auto-generated SIDs.
           2020-05-06
             changes in def for some endpoint types and headend types
           2020-04-16
             Changes due to common Srv6 bag and renaming some leaf";
        }
    
        revision "2019-11-20" {
          description
            "Changes for SRv6 end function
           2019-04-22
           Flex-Algo specific changes";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.1";
    
        typedef Sid-state {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown";
            }
            enum "in-use" {
              value 1;
              description "In Use";
            }
            enum "pending" {
              value 2;
              description "Pending";
            }
            enum "stale" {
              value 3;
              description "Stale";
            }
          }
          description "SID manager SID state";
        }
    
        typedef Sid-allocation {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown";
            }
            enum "dynamic" {
              value 1;
              description "Dynamic";
            }
            enum "explicit" {
              value 2;
              description "Explicit";
            }
          }
          description "SID allocation type";
        }
    
        typedef In6-addr {
          type inet:ipv6-address;
          description "In6 addr";
        }
    
        typedef Srv6af {
          type enumeration {
            enum "no-af" {
              value 0;
              description "No AF";
            }
            enum "ipv4-af" {
              value 1;
              description "IPv4 AF";
            }
            enum "ipv6-af" {
              value 2;
              description "IPv6 AF";
            }
          }
          description "SRv6 AF type";
        }
    
        typedef Mgmt-srv6-endpoint {
          type enumeration {
            enum "unknown" {
              value 0;
              description
                "Unknown Endpoint type";
            }
            enum "end" {
              value 1;
              description "End (no PSP/USP)";
            }
            enum "end-with-psp" {
              value 2;
              description "End with PSP";
            }
            enum "end-with-usp" {
              value 3;
              description "End with USP";
            }
            enum "end-with-psp-usp" {
              value 4;
              description "End with PSP/USP";
            }
            enum "end-x" {
              value 5;
              description "End.X (no PSP/USP)";
            }
            enum "end-x-with-psp" {
              value 6;
              description "End.X with PSP";
            }
            enum "end-x-with-usp" {
              value 7;
              description "End.X with USP";
            }
            enum "end-x-with-psp-usp" {
              value 8;
              description "End.X with PSP/USP";
            }
            enum "end-tbl" {
              value 9;
              description "End.T (no PSP/USP)";
            }
            enum "end-tbl-with-psp" {
              value 10;
              description "End.T with PSP";
            }
            enum "end-tbl-with-usp" {
              value 11;
              description "End.T with USP";
            }
            enum "end-tbl-with-psp-usp" {
              value 12;
              description "End.T with PSP/USP";
            }
            enum "end-b6-insert" {
              value 13;
              description "End.B6.Insert";
            }
            enum "end-b6-encaps" {
              value 14;
              description "End.B6.Encaps";
            }
            enum "end-bm" {
              value 15;
              description "End.BM";
            }
            enum "end-dx6" {
              value 16;
              description "End.DX6";
            }
            enum "end-dx4" {
              value 17;
              description "End.DX4";
            }
            enum "end-dt6" {
              value 18;
              description "End.DT6";
            }
            enum "end-dt4" {
              value 19;
              description "End.DT4";
            }
            enum "end-dt46" {
              value 20;
              description "End.DT46";
            }
            enum "end-dx2" {
              value 21;
              description "End.DX2";
            }
            enum "end-dx2v" {
              value 22;
              description "End.DX2V";
            }
            enum "end-dt2u" {
              value 23;
              description "End.DT2U";
            }
            enum "end-dt2m" {
              value 24;
              description "End.DT2M";
            }
            enum "end-s" {
              value 25;
              description "End.S";
            }
            enum "end-b6-insert-red" {
              value 26;
              description
                "End.B6.Insert.Reduced";
            }
            enum "end-b6-encaps-red" {
              value 27;
              description
                "End.B6.Encaps.Reduced";
            }
            enum "end-with-usd" {
              value 28;
              description "End with USD";
            }
            enum "end-with-psp-usd" {
              value 29;
              description "End with PSP/USD";
            }
            enum "end-with-usp-usd" {
              value 30;
              description "End with USP/USD";
            }
            enum "end-with-psp-usp-usd" {
              value 31;
              description "End with PSP/USP/USD";
            }
            enum "end-x-with-usd" {
              value 32;
              description "End.X with USD";
            }
            enum "end-x-with-psp-usd" {
              value 33;
              description "End.X with PSP/USD";
            }
            enum "end-x-with-usp-usd" {
              value 34;
              description "End.X with USP/USD";
            }
            enum "end-x-with-psp-usp-usd" {
              value 35;
              description
                "End.X with PSP/USP/USD";
            }
            enum "end-tbl-with-usd" {
              value 36;
              description "End.T with USD";
            }
            enum "end-tbl-with-psp-usd" {
              value 37;
              description "End.T with PSP/USD";
            }
            enum "end-tbl-with-usp-usd" {
              value 38;
              description "End.T with USP/USD";
            }
            enum "end-tbl-with-psp-usp-usd" {
              value 39;
              description
                "End.T with PSP/USP/USD";
            }
            enum "end-op" {
              value 40;
              description "End.OP";
            }
            enum "end-otp" {
              value 41;
              description "End.OTP";
            }
            enum "un-shift-only" {
              value 42;
              description "uN Shift-only";
            }
            enum "un" {
              value 43;
              description "uN";
            }
            enum "un-psp" {
              value 44;
              description "uN with PSP";
            }
            enum "un-usp" {
              value 45;
              description "uN with USP";
            }
            enum "un-psp-usp" {
              value 46;
              description "uN with PSP-USP";
            }
            enum "un-usd" {
              value 47;
              description "uN with USD";
            }
            enum "un-psp-usd" {
              value 48;
              description "uN with PSP-USD";
            }
            enum "un-usp-usd" {
              value 49;
              description "uN with USP-USD";
            }
            enum "un-psp-usp-usd" {
              value 50;
              description "uN with PSP_USP-USD";
            }
            enum "ua-shift-only" {
              value 51;
              description "uA Shift-only";
            }
            enum "ua" {
              value 52;
              description "uA";
            }
            enum "ua-psp" {
              value 53;
              description "uA with PSP";
            }
            enum "ua-usp" {
              value 54;
              description "uA with USP";
            }
            enum "ua-psp-usp" {
              value 55;
              description "uA with PSP-USP";
            }
            enum "ua-usd" {
              value 56;
              description "uA with USD";
            }
            enum "ua-psp-usd" {
              value 57;
              description "uA with PSP-USD";
            }
            enum "ua-usp-usd" {
              value 58;
              description "uA with USP-USD";
            }
            enum "ua-psp-usp-usd" {
              value 59;
              description "uA with PSP_USP-USD";
            }
            enum "udx6" {
              value 60;
              description "uDX6";
            }
            enum "udx4" {
              value 61;
              description "uDX4";
            }
            enum "udt6" {
              value 62;
              description "uDT6";
            }
            enum "udt4" {
              value 63;
              description "uDT4";
            }
            enum "udt46" {
              value 64;
              description "uDT46";
            }
            enum "udx2" {
              value 65;
              description "uDX2";
            }
            enum "udx2v" {
              value 66;
              description "uDX2V";
            }
            enum "udt2u" {
              value 67;
              description "uDT2U";
            }
            enum "udt2m" {
              value 68;
              description "uDT2M";
            }
            enum "ub6-insert" {
              value 69;
              description "uB6 Insert";
            }
            enum "ub6-encaps" {
              value 70;
              description "uB6 Encaps";
            }
            enum "ub6-insert-red" {
              value 71;
              description "uB6 Insert.Red";
            }
            enum "ub6-encaps-red" {
              value 72;
              description "uB6 Encaps.Red";
            }
            enum "ubm" {
              value 73;
              description "uBM";
            }
          }
          description
            "SRv6 Endpoint Behavior Type";
        }
    
        typedef Srv6-out-of-resource-state {
          type enumeration {
            enum "oor-green" {
              value 0;
              description "Resources Available";
            }
            enum "oor-yellow" {
              value 1;
              description
                "Resources Warning. Have exceeded minor
               threshold";
            }
            enum "oor-red" {
              value 2;
              description
                "Out of Resources. Have exceeded major threshold";
            }
          }
          description
            "SRv6 Out of Resource State";
        }
    
        typedef Srv6-op-mode {
          type enumeration {
            enum "none" {
              value 0;
              description "No mode";
            }
            enum "srv6-base" {
              value 1;
              description "SRv6 base";
            }
            enum "srv6-micro-segment" {
              value 2;
              description "SRv6 micro-segment";
            }
          }
          description "SRv6 operational mode";
        }
    
        grouping SRV6-LOCATOR-INTF-INFO {
          description "SRv6 locator interface";
          leaf name {
            type string;
            description "Interface name";
          }
    
          leaf if-handle {
            type xr:Hex-integer;
            description "Interface handle";
          }
    
          leaf programmed-prefix {
            type string;
            description
              "Interface prefix/addr programmed";
          }
        }  // grouping SRV6-LOCATOR-INTF-INFO
    
        grouping SRV6-LOCATOR-INFO {
          description "SRv6 Locator info";
          container micro-segment-behavior {
            description "Micro-segment behavior";
            uses MGMT-SRV6-ENDPOINT-BEHAVIOR;
          }  // container micro-segment-behavior
    
          container interface {
            description "Locator IM intf info";
            uses SRV6-LOCATOR-INTF-INFO;
          }  // container interface
    
          container create-timestamp {
            description "Creation timestamp";
            uses MGMT-SIDMGR-TIMESTAMP;
          }  // container create-timestamp
    
          leaf name {
            type string;
            description "Locator Name";
          }
    
          leaf id {
            type uint32;
            description "Locator ID";
          }
    
          leaf prefix {
            type string;
            description "Locator Prefix";
          }
    
          leaf algorithm-id {
            type uint8;
            description "Algorithm Id";
          }
    
          leaf is-operational {
            type boolean;
            description
              "Locator status is Up or Down";
          }
    
          leaf is-micro-segment {
            type boolean;
            description
              "A Micro-segment locator";
          }
    
          leaf is-anycast {
            type boolean;
            description "An Anycast locator";
          }
    
          leaf out-of-resources-state {
            type Srv6-out-of-resource-state;
            description
              "Locator Resources State for SIDs";
          }
    
          leaf sids-count {
            type uint32;
            description
              "Number of allocated SIDs";
          }
        }  // grouping SRV6-LOCATOR-INFO
    
        grouping SID-OWNER {
          description "SID Owner";
          leaf owner {
            type string;
            description "Owner";
          }
        }  // grouping SID-OWNER
    
        grouping SRV6-SID-INFO {
          description
            "SRv6 SID Manager SID info";
          container sid-behavior {
            description "SID Behavior Type";
            uses MGMT-SRV6-ENDPOINT-BEHAVIOR;
          }  // container sid-behavior
    
          container sid-context {
            description "SID Context";
            uses MGMT-SRV6-SID-CTX;
          }  // container sid-context
    
          container create-timestamp {
            description "Creation timestamp";
            uses MGMT-SIDMGR-TIMESTAMP;
          }  // container create-timestamp
    
          leaf sid {
            type string;
            description "SID Value";
          }
    
          leaf allocation-type {
            type Sid-allocation;
            description "Allocation Type";
          }
    
          leaf state {
            type Sid-state;
            description "State";
          }
    
          leaf has-forwarding {
            type boolean;
            description "Rewrite done or not";
          }
    
          leaf locator {
            type string;
            description "Associated locator";
          }
    
          leaf sid-functionvalue {
            type uint32;
            description "SID function value";
          }
    
          list owner {
            description "Owner";
            uses SID-OWNER;
          }  // list owner
        }  // grouping SRV6-SID-INFO
    
        grouping MGMT-SIDMGR-TIMESTAMP {
          description
            "SID Manager Generic Timestamp";
          leaf time-in-nano-seconds {
            type uint64;
            units "nanosecond";
            description
              "Timestamp in nano seconds";
          }
    
          leaf age-in-nano-seconds {
            type uint64;
            units "nanosecond";
            description "Age in nano seconds";
          }
        }  // grouping MGMT-SIDMGR-TIMESTAMP
    
        grouping MGMT-SRV6-SID-CTX-U-DX2 {
          description "SRv6 uDX2 SID context";
          leaf evi {
            type uint32;
            description "EVI";
          }
    
          leaf eth-tag {
            type uint32;
            description "Ethernet Tag ID";
          }
        }  // grouping MGMT-SRV6-SID-CTX-U-DX2
    
        grouping MGMT-SRV6-ADDR-UNION {
          description "SRv6 IP address union";
          leaf af-type {
            type Srv6af;
            description "AFType";
          }
    
          leaf ipv4 {
            when "../af-type = 'ipv4-af'" {
              description
                "../AFType = 'IPv4_AF'";
            }
            type inet:ipv4-address;
            description "IPv4 address";
          }
    
          leaf ipv6 {
            when "../af-type = 'ipv6-af'" {
              description
                "../AFType = 'IPv6_AF'";
            }
            type In6-addr;
            description "IPv6 address";
          }
        }  // grouping MGMT-SRV6-ADDR-UNION
    
        grouping MGMT-SRV6-SID-CTX-U-B6 {
          description "SRv6 uB6 SID context";
          container policy-endpoint {
            description
              "Policy Endpoint address";
            uses MGMT-SRV6-ADDR-UNION;
          }  // container policy-endpoint
    
          leaf policy-name {
            type string;
            description "Policy name";
          }
    
          leaf policy-color {
            type uint32;
            description
              "Color associated with the policy";
          }
    
          leaf policy-endpoint-is-null {
            type boolean;
            description
              "Policy endpoint is null";
          }
        }  // grouping MGMT-SRV6-SID-CTX-U-B6
    
        grouping MGMT-SRV6-SID-CTX-DT-BASE {
          description
            "SRv6 uDTx/End.DTx SID base context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
        }  // grouping MGMT-SRV6-SID-CTX-DT-BASE
    
        grouping MGMT-SRV6-SID-CTX-U-DT {
          description "SRv6 uDT4/6 SID context";
          container u-dt-base-ctx {
            description "Common uDT context";
            uses MGMT-SRV6-SID-CTX-DT-BASE;
          }  // container u-dt-base-ctx
        }  // grouping MGMT-SRV6-SID-CTX-U-DT
    
        grouping MGMT-SRV6-SID-CTX-U-N {
          description "SRv6 uN SID context";
          container u-n-base-ctx {
            description "Common uN context";
            uses MGMT-SRV6-SID-CTX1;
          }  // container u-n-base-ctx
        }  // grouping MGMT-SRV6-SID-CTX-U-N
    
        grouping MGMT-SRV6-SID-CTX-U-A-PSP-USD {
          description
            "SRv6 End.X (PSP) SID context";
          container u-a-base-ctx {
            description "Common uA context";
            uses MGMT-SRV6-SID-CTX-U-A;
          }  // container u-a-base-ctx
        }  // grouping MGMT-SRV6-SID-CTX-U-A-PSP-USD
    
        grouping MGMT-SRV6-SID-CTX-U-A {
          description "SRv6 uA SID context";
          leaf is-protected {
            type boolean;
            description "Is protected?";
          }
    
          leaf opaque-id {
            type uint8;
            description
              "Additional differentiator - opaque to SIDMgr";
          }
    
          leaf algo-id {
            type uint8;
            description "Algorithm Id";
          }
    
          leaf interface {
            type xr:Interface-name;
            description "Nexthop interface";
          }
    
          leaf nexthop-address {
            type inet:ipv6-address;
            description "Nexthop IP address";
          }
        }  // grouping MGMT-SRV6-SID-CTX-U-A
    
        grouping MGMT-SRV6-SID-CTX-U-A-SHIFT-ONLY {
          description
            "SRv6 End.X (USP) SID context";
          container u-a-base-ctx {
            description "Common uA context";
            uses MGMT-SRV6-SID-CTX-U-A;
          }  // container u-a-base-ctx
        }  // grouping MGMT-SRV6-SID-CTX-U-A-SHIFT-ONLY
    
        grouping MGMT-SRV6-SID-CTX-DX2 {
          description "SRv6 End.DX2 SID context";
          leaf evi {
            type uint32;
            description "EVI";
          }
    
          leaf eth-tag {
            type uint32;
            description "Ethernet Tag ID";
          }
        }  // grouping MGMT-SRV6-SID-CTX-DX2
    
        grouping MGMT-SRV6-SID-CTX-DT {
          description
            "SRv6 End.DT4/6 SID context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
        }  // grouping MGMT-SRV6-SID-CTX-DT
    
        grouping MGMT-SRV6-SID-CTX-DX {
          description
            "SRv6 End.DX4/6 SID context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf next-hop-set-id {
            type uint32;
            description "Next Hop Set ID";
          }
        }  // grouping MGMT-SRV6-SID-CTX-DX
    
        grouping MGMT-SRV6-SID-CTX-X {
          description
            "SRv6 End.X SID base context";
          leaf is-protected {
            type boolean;
            description "Is protected?";
          }
    
          leaf opaque-id {
            type uint8;
            description
              "Additional differentiator - opaque to SIDMgr";
          }
    
          leaf interface {
            type xr:Interface-name;
            description "Nexthop interface";
          }
    
          leaf nexthop-address {
            type inet:ipv6-address;
            description "Nexthop IP address";
          }
        }  // grouping MGMT-SRV6-SID-CTX-X
    
        grouping MGMT-SRV6-SID-CTX-X-PSP {
          description
            "SRv6 End.X (PSP) SID context";
          container xctx {
            description
              "Common End.X context for End.X (PSP) SID";
            uses MGMT-SRV6-SID-CTX-X;
          }  // container xctx
        }  // grouping MGMT-SRV6-SID-CTX-X-PSP
    
        grouping MGMT-SRV6-SID-CTX-RSVD {
          description
            "SRv6 Reserved SID context";
          leaf table-id {
            type uint32;
            description "Table Id";
          }
        }  // grouping MGMT-SRV6-SID-CTX-RSVD
    
        grouping MGMT-SRV6-SID-CTX-OP {
          description "SRv6 End.OP SID context";
          container op-ctx {
            description
              "Common reserved context for End.OP SID";
            uses MGMT-SRV6-SID-CTX-RSVD;
          }  // container op-ctx
        }  // grouping MGMT-SRV6-SID-CTX-OP
    
        grouping MGMT-SRV6-SID-CTX1 {
          description "SRv6 End SID context";
          leaf table-id {
            type uint32;
            description "Table Id";
          }
    
          leaf opaque-id {
            type uint16;
            description
              "Additional differentiator - opaque to SIDMgr";
          }
        }  // grouping MGMT-SRV6-SID-CTX1
    
        grouping MGMT-SRV6-SID-CTX-E-PSP {
          description
            "SRv6 End (PSP) SID context";
          container ectx {
            description
              "Common End context for End (PSP) SID";
            uses MGMT-SRV6-SID-CTX1;
          }  // container ectx
        }  // grouping MGMT-SRV6-SID-CTX-E-PSP
    
        grouping MGMT-SRV6-SID-CTX-KEY {
          description "MGMT SRV6 SID CTX KEY";
          container e-psp {
            when
              "../sid-context-type = 'end-with-psp'" {
              description
                "../SIDContextType = 'EndWithPSP'";
            }
            description "End (PSP) SID context";
            uses MGMT-SRV6-SID-CTX-E-PSP;
          }  // container e-psp
    
          container op {
            when
              "../sid-context-type = 'end-op'" {
              description
                "../SIDContextType = 'EndOP'";
            }
            description "End.OP SID context";
            uses MGMT-SRV6-SID-CTX-OP;
          }  // container op
    
          container x-psp {
            when
              "../sid-context-type = 'end-x-with-psp'" {
              description
                "../SIDContextType = 'EndXWithPSP'";
            }
            description
              "End.X (PSP) SID context";
            uses MGMT-SRV6-SID-CTX-X-PSP;
          }  // container x-psp
    
          container dx4 {
            when
              "../sid-context-type = 'end-dx4'" {
              description
                "../SIDContextType = 'EndDX4'";
            }
            description "End.DX4 SID context";
            uses MGMT-SRV6-SID-CTX-DX;
          }  // container dx4
    
          container dt4 {
            when
              "../sid-context-type = 'end-dt4'" {
              description
                "../SIDContextType = 'EndDT4'";
            }
            description "End.DT4 SID context";
            uses MGMT-SRV6-SID-CTX-DT;
          }  // container dt4
    
          container dx6 {
            when
              "../sid-context-type = 'end-dx6'" {
              description
                "../SIDContextType = 'EndDX6'";
            }
            description "End.DX6 SID context";
            uses MGMT-SRV6-SID-CTX-DX;
          }  // container dx6
    
          container dt6 {
            when
              "../sid-context-type = 'end-dt6'" {
              description
                "../SIDContextType = 'EndDT6'";
            }
            description "End.DT6 SID context";
            uses MGMT-SRV6-SID-CTX-DT;
          }  // container dt6
    
          container dx2 {
            when
              "../sid-context-type = 'end-dx2'" {
              description
                "../SIDContextType = 'EndDX2'";
            }
            description "End.DX2 SID context";
            uses MGMT-SRV6-SID-CTX-DX2;
          }  // container dx2
    
          container u-a-shift-only {
            when
              "../sid-context-type = 'ua-shift-only'" {
              description
                "../SIDContextType = 'UA_ShiftOnly'";
            }
            description
              "uA Shift-only SID context";
            uses MGMT-SRV6-SID-CTX-U-A-SHIFT-ONLY;
          }  // container u-a-shift-only
    
          container u-a-psp-usd {
            when
              "../sid-context-type = 'ua-psp-usd'" {
              description
                "../SIDContextType = 'UA_PSP_USD'";
            }
            description "uA PSP-USD SID context";
            uses MGMT-SRV6-SID-CTX-U-A-PSP-USD;
          }  // container u-a-psp-usd
    
          container u-n-shift-only {
            when
              "../sid-context-type = 'un-shift-only'" {
              description
                "../SIDContextType = 'UN_ShiftOnly'";
            }
            description
              "uN Shift-only SID context";
            uses MGMT-SRV6-SID-CTX-U-N;
          }  // container u-n-shift-only
    
          container u-n-psp-usd {
            when
              "../sid-context-type = 'un-psp-usd'" {
              description
                "../SIDContextType = 'UN_PSP_USD'";
            }
            description "uN PSP-USD SID context";
            uses MGMT-SRV6-SID-CTX-U-N;
          }  // container u-n-psp-usd
    
          container u-dt4 {
            when "../sid-context-type = 'udt4'" {
              description
                "../SIDContextType = 'UDT4'";
            }
            description "uDT4 SID context";
            uses MGMT-SRV6-SID-CTX-U-DT;
          }  // container u-dt4
    
          container u-dt6 {
            when "../sid-context-type = 'udt6'" {
              description
                "../SIDContextType = 'UDT6'";
            }
            description "uDT6 SID context";
            uses MGMT-SRV6-SID-CTX-U-DT;
          }  // container u-dt6
    
          container u-b6-insert-red {
            when
              "../sid-context-type = 'ub6-insert-red'" {
              description
                "../SIDContextType = 'UB6_InsertRed'";
            }
            description
              "uB6 Insert.Red SID context";
            uses MGMT-SRV6-SID-CTX-U-B6;
          }  // container u-b6-insert-red
    
          container udx2 {
            when "../sid-context-type = 'udx2'" {
              description
                "../SIDContextType = 'UDX2'";
            }
            description "UDX2 SID context";
            uses MGMT-SRV6-SID-CTX-U-DX2;
          }  // container udx2
    
          leaf sid-context-type {
            type Mgmt-srv6-endpoint;
            description "SIDContextType";
          }
        }  // grouping MGMT-SRV6-SID-CTX-KEY
    
        grouping MGMT-SRV6-SID-CTX {
          description "SRv6 SID context";
          container key {
            description "SID Key";
            uses MGMT-SRV6-SID-CTX-KEY;
          }  // container key
    
          leaf application-data {
            type yang:hex-string;
            description
              "Application opaque data";
          }
        }  // grouping MGMT-SRV6-SID-CTX
    
        grouping MGMT-SRV6-ENDPOINT-BEHAVIOR {
          description
            "SRv6 Endpoint Behavior Info";
          leaf type {
            type Mgmt-srv6-endpoint;
            description "Behavior type";
          }
    
          leaf description {
            type string;
            description "Behavior description";
          }
        }  // grouping MGMT-SRV6-ENDPOINT-BEHAVIOR
    
        grouping SRV6-LOCAL-SID-INFO {
          description
            "SRv6 SID Manager Local SID info";
          container sid-behavior {
            description "SID Behavior";
            uses MGMT-SRV6-ENDPOINT-BEHAVIOR;
          }  // container sid-behavior
    
          container sid-context {
            description "SID Context";
            uses MGMT-SRV6-SID-CTX;
          }  // container sid-context
    
          container create-timestamp {
            description "Creation timestamp";
            uses MGMT-SIDMGR-TIMESTAMP;
          }  // container create-timestamp
    
          leaf sid {
            type string;
            description "SID Value";
          }
    
          leaf sid-block-prefix {
            type string;
            description "SID Block Prefix";
          }
    
          leaf sid-functionvalue {
            type uint32;
            description "SID function value";
          }
    
          leaf locator-ref-count {
            type uint32;
            description
              "Number of Locators sharing this Local SID";
          }
        }  // grouping SRV6-LOCAL-SID-INFO
    
        grouping SRV6-IDBLOCK-INFO {
          description "SRv6 ID Block info";
          container local-sids-oor-summary {
            description
              "ID Blocks Local SID Out of Resource info";
            uses SRV6-OOR-SUMMARY;
          }  // container local-sids-oor-summary
    
          leaf prefix {
            type string;
            description "ID Block Prefix";
          }
    
          leaf index {
            type uint32;
            description "ID Block Index";
          }
    
          leaf sids-count {
            type uint32;
            description "Number of SIDs";
          }
    
          leaf locator-ref-count {
            type uint32;
            description
              "Number of Locators Sharing this Block";
          }
        }  // grouping SRV6-IDBLOCK-INFO
    
        grouping MGMT-SRV6-PLATFORM-SIG-PARAMS {
          description
            "Platform SRv6 params to be signaled";
          leaf max-sl {
            type uint8;
            description
              "Max value of SegmentLeft field in received SRH";
          }
    
          leaf max-end-pop-srh {
            type uint8;
            description
              "Max num of SIDs in rcvd SRH for pop";
          }
    
          leaf max-h-insert {
            type uint8;
            description
              "Max num of SIDs for H.Insert op";
          }
    
          leaf max-h-encap {
            type uint8;
            description
              "Max num of SIDs for H.Encaps op";
          }
    
          leaf max-end-d {
            type uint8;
            description
              "Max num of SIDs in rcvd SRH for decap";
          }
        }  // grouping MGMT-SRV6-PLATFORM-SIG-PARAMS
    
        grouping MGMT-SIDMGR-STRING {
          description "Generic string";
          leaf string {
            type string;
            description "String";
          }
        }  // grouping MGMT-SIDMGR-STRING
    
        grouping SRV6-PLATFORM-SUPPORT {
          description "SRv6 Platform Support";
          container signaled-parameters {
            description "Signaled Parameters";
            uses MGMT-SRV6-PLATFORM-SIG-PARAMS;
          }  // container signaled-parameters
    
          leaf srv6 {
            type boolean;
            description "SRv6 support";
          }
    
          leaf tilfa {
            type boolean;
            description "TI LFA support";
          }
    
          leaf microloop-avoidance {
            type boolean;
            description
              "Microloop-avoidance support";
          }
    
          list endpoint-behavior {
            description
              "Supported end functions";
            uses MGMT-SIDMGR-STRING;
          }  // list endpoint-behavior
    
          list headend-behavior {
            description
              "Supported headend functions";
            uses MGMT-SIDMGR-STRING;
          }  // list headend-behavior
    
          list security-rule {
            description "Security rules";
            uses MGMT-SIDMGR-STRING;
          }  // list security-rule
    
          list counter {
            description "Counters";
            uses MGMT-SIDMGR-STRING;
          }  // list counter
        }  // grouping SRV6-PLATFORM-SUPPORT
    
        grouping SRV6-PLATFORM-CFG-SUPPORT {
          description
            "SRv6 Platform Configurable Parameters under srv6
           mode";
          leaf encap-sa {
            type boolean;
            description
              "SRv6 Encap Source Address";
          }
    
          leaf encap-hop-limit-value {
            type boolean;
            description
              "SRv6 Encap Hoplimit value";
          }
    
          leaf encap-hop-limit-propagate {
            type boolean;
            description
              "SRv6 Encap Hoplimit propagate";
          }
    
          leaf encap-traffic-class-value {
            type boolean;
            description
              "SRv6 value Encap TC value";
          }
    
          leaf encap-traffic-class-propagate {
            type boolean;
            description
              "SRv6 Encap TC propagate";
          }
        }  // grouping SRV6-PLATFORM-CFG-SUPPORT
    
        grouping SRV6-PLATFORM-CAPABILITY {
          description
            "Platform Capabilities for SRv6";
          container cfg-support {
            description
              "Configurable param support";
            uses SRV6-PLATFORM-CFG-SUPPORT;
          }  // container cfg-support
    
          container support {
            description "Feature support";
            uses SRV6-PLATFORM-SUPPORT;
          }  // container support
    
          leaf max-sids {
            type uint32;
            description "Maximum Sids";
          }
    
          leaf sid-holdtime-mins {
            type uint32;
            units "minute";
            description
              "Freed SID holdtime in mins";
          }
        }  // grouping SRV6-PLATFORM-CAPABILITY
    
        grouping SRV6-OOR-SUMMARY {
          description
            "SRv6 SID Manager Out of Resource Summary";
          leaf oor-state {
            type Srv6-out-of-resource-state;
            description "OOR State for SIDs";
          }
    
          leaf oor-maximum-sid-count {
            type uint32;
            description "Maximum Number of SIDs";
          }
    
          leaf oor-current-free-sid-count {
            type uint32;
            description
              "Current Number of Free SIDs";
          }
    
          leaf oor-yellow-free-sid-threshold {
            type uint32;
            description
              "Threshold for Number of Free SID below which OOR
             Yellow State is reached";
          }
    
          leaf oor-green-free-sid-threshold {
            type uint32;
            description
              "Threshold for Number of Free SID above which OOR
             Green State is restored";
          }
    
          leaf oor-green-count {
            type uint32;
            description
              "Number of times Resources Warning or Out of
             Resources state has been cleared";
          }
    
          leaf oor-yellow-count {
            type uint32;
            description
              "Number of times system went into Resources
             Warning state";
          }
    
          leaf oor-red-count {
            type uint32;
            description
              "Number of times system went into Out of
             Resources state";
          }
        }  // grouping SRV6-OOR-SUMMARY
    
        grouping SRV6-SIDMGR-SUMMARY {
          description "SRv6 SID Manager summary";
          container sids-out-of-resource-summary {
            description
              "SIDs Global Out of Resource info";
            uses SRV6-OOR-SUMMARY;
          }  // container sids-out-of-resource-summary
    
          leaf locators-count {
            type uint16;
            description "Number of locators";
          }
    
          leaf oper-locators-count {
            type uint16;
            description
              "Number of operational locators";
          }
    
          leaf sids-count {
            type uint32;
            description
              "Number of allocated SIDs";
          }
    
          leaf stale-sids-count {
            type uint32;
            description "Number of Stale SIDs";
          }
    
          leaf maximum-sids-count {
            type uint32;
            description
              "Global Maximum number of SIDs";
          }
    
          list block-local-sid-oor-summary {
            description
              "Local SID Out of Resource info for each Block";
            uses SRV6-OOR-SUMMARY;
          }  // list block-local-sid-oor-summary
        }  // grouping SRV6-SIDMGR-SUMMARY
    
        grouping MGMT-SRV6-OP-MODE {
          description
            "SRv6 operational mode Info";
          leaf type {
            type Srv6-op-mode;
            description "Mode type";
          }
    
          leaf description {
            type string;
            description "Mode description";
          }
        }  // grouping MGMT-SRV6-OP-MODE
    
        grouping SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE {
          description
            "SRv6 SID Manager parameters value set or
           propagate";
          leaf use-default {
            type boolean;
            description "Use default value";
          }
    
          leaf do-propagate {
            type boolean;
            description
              "Propagate from incoming packet or frame";
          }
    
          leaf value {
            type uint8;
            description "Specific value set";
          }
        }  // grouping SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE
    
        grouping SRV6-SIDMGR-PARAMS {
          description
            "SRv6 SID Manager parameters";
          container encap-hop-limit {
            description "Encap Hop-limit info";
            uses SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE;
          }  // container encap-hop-limit
    
          container encap-traffic-class {
            description
              "Encap Traffic-class info";
            uses SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE;
          }  // container encap-traffic-class
    
          container srv6-operational-mode {
            description "SRv6 operational mode";
            uses MGMT-SRV6-OP-MODE;
          }  // container srv6-operational-mode
    
          leaf srv6-enabled {
            type boolean;
            description "Is SRv6 enabled?";
          }
    
          leaf configured-encap-source-address {
            type inet:ipv6-address;
            description
              "Configured Encap Source address";
          }
    
          leaf default-encap-source-address {
            type inet:ipv6-address;
            description
              "Default Encap Source address";
          }
    
          leaf is-sid-holdtime-configured {
            type boolean;
            description
              "Is SID Holdtime configured?";
          }
    
          leaf sid-holdtime-mins-configured {
            type uint32;
            units "minute";
            description
              "Configured SID Holdtime in mins";
          }
        }  // grouping SRV6-SIDMGR-PARAMS
    
        grouping SRV6-SIDMGR-INFO {
          description "SRv6 SID Manager info";
          container sid-mgr-params {
            description "SID Mgr parameters";
            uses SRV6-SIDMGR-PARAMS;
          }  // container sid-mgr-params
    
          container sid-mgr-summary {
            description "SID Mgr summary info";
            uses SRV6-SIDMGR-SUMMARY;
          }  // container sid-mgr-summary
    
          container platform-capabilities {
            description "Platform Capabilities";
            uses SRV6-PLATFORM-CAPABILITY;
          }  // container platform-capabilities
        }  // grouping SRV6-SIDMGR-INFO
      }  // submodule Cisco-IOS-XR-segment-routing-srv6-oper-sub1
    

© 2023 YumaWorks, Inc. All rights reserved.