Cisco-IOS-XR-ip-rib-ipv4-oper-sub1

This submodule contains a collection of YANG definitions for Cisco IOS-XR ip-rib-ipv4 package operational data. Copyright (c) 2...

  • Version: 2020-12-11

    Cisco-IOS-XR-ip-rib-ipv4-oper-sub1@2020-12-11


    
      submodule Cisco-IOS-XR-ip-rib-ipv4-oper-sub1 {
    
        yang-version 1;
    
        belongs-to
          Cisco-IOS-XR-ip-rib-ipv4-oper {
            prefix
              Cisco-IOS-XR-ip-rib-ipv4-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 ip-rib-ipv4 package operational data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-11" {
          description
            "Add forwarding sidlist
           2020-10-16
             Route model now includes optional SRv6 SID Format field for SRv6 Local SID routes
           2020-09-30
             Nexthop notification model now includes client specific registration flags";
        }
    
        revision "2020-05-29" {
          description
            "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type
           2020-04-02
           Increased path_num size in redist hist route bag to 16 bits";
        }
    
        revision "2019-11-05" {
          description
            "Extended Nexthop and NexhopPrefix paths to include all by NH flags
           2019-10-22
           Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field";
        }
    
        revision "2019-06-28" {
          description "Fixed NexthopPrefix path";
        }
    
        revision "2019-06-08" {
          description "Added RPF list and NHIDs";
        }
    
        revision "2019-05-30" {
          description
            "Fixed adverts and backup paths";
        }
    
        revision "2019-05-17" {
          description
            "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts";
        }
    
        revision "2019-04-25" {
          description
            "Updated yang schema to extend Native Yang model for the data exposed via CLI";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-02-21" {
          description
            "Yang evaluator: updates to schema descriptions and ranges";
        }
    
        revision "2019-01-11" {
          description
            "Route lookup key is limited to Prefix and Prefix Length";
        }
    
        revision "2018-11-20" {
          description
            "Add keys for route lookup via restconf.";
        }
    
        revision "2018-11-06" {
          description
            "Support Algorithm Label List per route";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Mgmt-srv6-headend {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown";
            }
            enum "transit" {
              value 1;
              description "T (Pure transit)";
            }
            enum "h-insert" {
              value 2;
              description "H.Insert";
            }
            enum "h-insert-red" {
              value 3;
              description "H.Insert.Red";
            }
            enum "h-encaps" {
              value 4;
              description "H.Encaps";
            }
            enum "h-encaps-red" {
              value 5;
              description "H.Encaps.Red";
            }
            enum "h-encaps-l2" {
              value 6;
              description "H.Encaps.L2";
            }
            enum "h-encaps-l2-red" {
              value 7;
              description "H.Encaps.L2.Red";
            }
          }
          description
            "SRv6 Headend Behavior Type";
        }
    
        typedef Rib-edm-nnh {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown - Invalid";
            }
            enum "ipv4-address" {
              value 1;
              description "IPv4 Address";
            }
            enum "if-index" {
              value 2;
              description "Interface Index";
            }
          }
          description "Rib edm nnh";
        }
    
        typedef Mgmt-srv6-sid-fmt {
          type enumeration {
            enum "none" {
              value 0;
              description "No format";
            }
            enum "base" {
              value 1;
              description "Base Format";
            }
            enum "f3216" {
              value 2;
              description
                "Micro-segment F3216 Format";
            }
          }
          description "SRv6 SID Format 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 Ipv4-rib-edm-addr {
          type inet:ipv4-address;
          description "Ipv4 rib edm addr";
        }
    
        grouping IPV4-RIB-EDM-CLIENT-REDIST-TABLE {
          description
            "Information on a client's redistribution of a
           table";
          leaf full-table {
            type boolean;
            description
              "Full table redistrbution or not?";
          }
    
          leaf insync {
            type uint32;
            description
              "Is this is sync or not?";
          }
    
          leaf afi {
            type uint32;
            description "Address Family";
          }
    
          leaf safi {
            type uint32;
            description "sub Address Family";
          }
    
          leaf vrf-name {
            type string;
            description "VRF Name of the table";
          }
    
          leaf updatemode {
            type uint32;
            description
              "Update type in route registration";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-REDIST-TABLE
    
        grouping IPV4-RIB-EDM-CLIENT-REDIST-PROTO {
          description
            "Information on a client's  redist of a proto";
          leaf insync {
            type boolean;
            description
              "Is this in sync or not?";
          }
    
          leaf protocol-names {
            type string;
            description
              "Name of proto it is redistributing";
          }
    
          leaf proto-instance {
            type string;
            description
              "Instance of redistributed proto";
          }
    
          leaf updatemode {
            type uint32;
            description
              "Type of route information getting redistributed";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-REDIST-PROTO
    
        grouping IPV4-RIB-EDM-CLIENT-HISTORY-ROUTE {
          description
            "Route information for history purposes";
          list ipv4-rib-edm-client-history-route {
            description "Next route";
            container advertisement {
              description
                "list of advertising protos";
              uses IPV4-RIB-EDM-ADVERT;
            }  // container advertisement
    
            leaf prefix {
              type Ipv4-rib-edm-addr;
              description "Route prefix";
            }
    
            leaf prefix-length {
              type uint8;
              description "Length of prefix";
            }
    
            leaf priority {
              type uint8;
              description "Priority of update";
            }
    
            leaf flags {
              type uint32;
              description "Route flags";
            }
    
            leaf source {
              type uint32;
              description "source";
            }
    
            leaf table-id {
              type uint32;
              description "table identifier";
            }
    
            leaf distance {
              type uint32;
              description
                "Administrative distance";
            }
    
            leaf metric {
              type uint32;
              description "Route metric";
            }
    
            leaf local-label {
              type uint32;
              description "Route local label";
            }
    
            leaf path-num {
              type uint16;
              description "Number of paths";
            }
    
            leaf nnh-num {
              type uint16;
              description "Number of NNHs";
            }
    
            leaf route-age {
              type uint32;
              units "second";
              description
                "Age of event (seconds)";
            }
    
            leaf route-modify-time {
              type uint64;
              units "nanosecond";
              description
                "Time of event (nanoseconds)";
            }
    
            leaf private-flags {
              type uint16;
              description
                "Route head private flags";
            }
    
            leaf number-of-srv6-sids {
              type uint16;
              description
                "Number of SRv6 Segment Identifiers";
            }
    
            leaf converge {
              type uint8;
              description
                "Redist table converged";
            }
    
            leaf code {
              type int8;
              description "Protocol code";
            }
    
            leaf outsync {
              type uint32;
              description
                "Last packed outsync prio";
            }
          }  // list ipv4-rib-edm-client-history-route
        }  // grouping IPV4-RIB-EDM-CLIENT-HISTORY-ROUTE
    
        grouping IPV4-RIB-EDM-CLIENT-REDIST {
          description
            "General info. on a client's redistribution";
          container routes {
            description "Link to history routes";
            uses IPV4-RIB-EDM-CLIENT-HISTORY-ROUTE;
          }  // container routes
    
          leaf num-tables-outsync {
            type uint32;
            description
              "Num tables to get updates from";
          }
    
          leaf num-history-routes {
            type uint32;
            description
              "Number of history routes";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-REDIST
    
        grouping IPV4-RIB-EDM-CLIENT {
          description "Rib client information";
          leaf pname {
            type string;
            description "Client's name";
          }
    
          leaf nodename {
            type string;
            description
              "Node client process is running on";
          }
    
          leaf pid {
            type uint32;
            description "Client's process ID";
          }
    
          leaf redist {
            type boolean;
            description
              "Is client registered for redist";
          }
    
          leaf proto {
            type boolean;
            description
              "Is client registered as a protocol";
          }
    
          leaf client-id {
            type uint32;
            description "Client's RIB ID number";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT
    
        grouping IPV4-RIB-EDM-STATS-REDIST-NH {
          description
            "Nexthop redistribution statistics";
          leaf table-id-xr {
            type uint32;
            description "table id xr";
          }
    
          leaf vrf-name {
            type string;
            description "vrf name";
          }
    
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf total-converge {
            type uint32;
            description "total converge";
          }
    
          leaf total-suppress {
            type uint32;
            description "total suppress";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
    
          leaf total-converge-sent {
            type uint32;
            description "total converge sent";
          }
    
          leaf last-converge {
            type uint64;
            description "last converge";
          }
    
          leaf last-converge-sent {
            type uint64;
            description "last converge sent";
          }
        }  // grouping IPV4-RIB-EDM-STATS-REDIST-NH
    
        grouping IPV4-RIB-EDM-CLIENT-PROTO-INFO {
          description
            "Information on client protocols";
          leaf num-protos-outsync {
            type uint32;
            description
              "Count of out-of-sync protocols";
          }
    
          leaf update-time {
            type uint32;
            units "second";
            description
              "Time of last update in seconds";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-PROTO-INFO
    
        grouping IPV4-RIB-EDM-CLIENT-PROTO-TABLE-INFO {
          description
            "Information on table-specific client protocols";
          leaf num-protos-outsync {
            type uint32;
            description
              "Count of out-of-sync protocols";
          }
    
          leaf update-time {
            type uint64;
            units "nanosecond";
            description
              "Time of last update (nanoseconds)";
          }
    
          leaf afi {
            type uint32;
            description "Address Family";
          }
    
          leaf safi {
            type uint32;
            description "sub Address Family";
          }
    
          leaf vrf-name {
            type string;
            description "VRF Name of the table";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-PROTO-TABLE-INFO
    
        grouping IPV4-RIB-EDM-CLIENT-PROTO {
          description
            "Information on a client proto";
          leaf protocol-names {
            type string;
            description "Name of proto";
          }
    
          leaf proto-instance {
            type string;
            description "Instance of proto";
          }
    
          leaf distance {
            type uint32;
            description
              "Route distane for the protocol";
          }
    
          leaf maxmetric {
            type uint32;
            description
              "Route metric for the protocol";
          }
    
          leaf purgetime {
            type uint32;
            description "Route purgetime";
          }
    
          leaf update-complete {
            type boolean;
            description
              "Has the client finished updating";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-PROTO
    
        grouping RIB-EDM-STATS-OPAQUE {
          description "Opaqaue statistics";
          leaf total-registration {
            type uint32;
            description "total registration";
          }
    
          leaf total-add {
            type uint32;
            description "total add";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-result {
            type boolean;
            description "last result";
          }
    
          leaf last-registration {
            type uint64;
            description "last registration";
          }
        }  // grouping RIB-EDM-STATS-OPAQUE
    
        grouping IPV4-RIB-EDM-STATS-NEXTHOP {
          description
            "Nexthop notification statistics";
          leaf table-id-xr {
            type uint32;
            description "table id xr";
          }
    
          leaf vrf-name {
            type string;
            description "vrf name";
          }
    
          leaf total-next-hop-reg {
            type uint32;
            description "total next hop reg";
          }
    
          leaf total-next-hop-unreg {
            type uint32;
            description "total next hop unreg";
          }
    
          leaf total-sync-reg {
            type uint32;
            description "total sync reg";
          }
    
          leaf last-registration {
            type uint64;
            description "last registration";
          }
        }  // grouping IPV4-RIB-EDM-STATS-NEXTHOP
    
        grouping RIB-EDM-STATS-PURGE {
          description "Purge statistics";
          leaf total-purges {
            type uint32;
            description "total purges";
          }
    
          leaf total-prefix-deleted {
            type uint32;
            description "total prefix deleted";
          }
    
          leaf total-paths-deleted {
            type uint32;
            description "total paths deleted";
          }
    
          leaf last-purge {
            type uint64;
            description "last purge";
          }
        }  // grouping RIB-EDM-STATS-PURGE
    
        grouping RIB-EDM-STATS-COMPLETE-UPDATE {
          description
            "Batch complete update statistic";
          leaf total-complete {
            type uint32;
            description "total complete";
          }
    
          leaf insync {
            type uint32;
            description "insync";
          }
    
          leaf last-insync {
            type uint64;
            description "last insync";
          }
    
          leaf bad-args {
            type uint32;
            description "bad args";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-complete-msg {
            type uint64;
            description "last complete msg";
          }
        }  // grouping RIB-EDM-STATS-COMPLETE-UPDATE
    
        grouping RIB-EDM-STATS-BATCH-CONVERGE {
          description
            "Batch converge operation statistics";
          leaf total-converge {
            type uint32;
            description "total converge";
          }
    
          leaf insync {
            type uint32;
            description "insync";
          }
    
          leaf last-insync {
            type uint64;
            description "last insync";
          }
    
          leaf bad-args {
            type uint32;
            description "bad args";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-converge-msg {
            type uint64;
            description "last converge msg";
          }
        }  // grouping RIB-EDM-STATS-BATCH-CONVERGE
    
        grouping RIB-EDM-STATS-BATCH-COMPLETE {
          description
            "Batch complete operation statistic";
          leaf total-complete {
            type uint32;
            description "total complete";
          }
    
          leaf insync {
            type uint32;
            description "insync";
          }
    
          leaf last-insync {
            type uint64;
            description "last insync";
          }
    
          leaf last-complete-msg {
            type uint64;
            description "last complete msg";
          }
        }  // grouping RIB-EDM-STATS-BATCH-COMPLETE
    
        grouping RIB-EDM-STATS-ADVERTISEMENT {
          description "Advertisement statistic";
          leaf total-adv {
            type uint32;
            description "total adv";
          }
    
          leaf new-adv {
            type uint32;
            description "new adv";
          }
    
          leaf modification {
            type uint32;
            description "modification";
          }
    
          leaf delete {
            type uint32;
            description "delete";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-result {
            type boolean;
            description "last result";
          }
    
          leaf last-adv-time {
            type uint64;
            description "last adv time";
          }
        }  // grouping RIB-EDM-STATS-ADVERTISEMENT
    
        grouping RIB-EDM-STATS-ROUTE-OP {
          description
            "Route operation statistics";
          leaf paths-add-op {
            type uint32;
            description "paths add op";
          }
    
          leaf prefix-added {
            type uint32;
            description "prefix added";
          }
    
          leaf paths-added {
            type uint32;
            description "paths added";
          }
    
          leaf prefix-modified-add {
            type uint32;
            description "prefix modified add";
          }
    
          leaf paths-delete-op {
            type uint32;
            description "paths delete op";
          }
    
          leaf prefix-deleted {
            type uint32;
            description "prefix deleted";
          }
    
          leaf paths-deleted {
            type uint32;
            description "paths deleted";
          }
    
          leaf prefix-modified-del {
            type uint32;
            description "prefix modified del";
          }
    
          leaf prefix-flushed {
            type uint32;
            description "prefix flushed";
          }
    
          leaf paths-flushed {
            type uint32;
            description "paths flushed";
          }
    
          leaf invalid-op {
            type uint32;
            description "invalid op";
          }
    
          leaf flushed {
            type uint32;
            description "flushed";
          }
    
          leaf too-manypaths {
            type uint32;
            description "too manypaths";
          }
    
          leaf invalid-parameter {
            type uint32;
            description "invalid parameter";
          }
    
          leaf no-ecmp-support {
            type uint32;
            description "no ecmp support";
          }
    
          leaf mem-alloc-error {
            type uint32;
            description "mem alloc error";
          }
    
          leaf path-backup {
            type uint32;
            description "path backup";
          }
    
          leaf path-active {
            type uint32;
            description "path active";
          }
    
          leaf path-change {
            type uint32;
            description "path change";
          }
    
          leaf path-nochange {
            type uint32;
            description "path nochange";
          }
    
          leaf table-limit {
            type uint32;
            description "table limit";
          }
    
          leaf outsync {
            type uint32;
            description "outsync";
          }
    
          leaf last-outsync {
            type uint64;
            description "last outsync";
          }
    
          leaf last-route-opt {
            type uint16;
            description "last route opt";
          }
    
          leaf last-result {
            type uint32;
            description "last result";
          }
    
          leaf last-opt-time {
            type uint64;
            description "last opt time";
          }
    
          leaf attribute-not-found {
            type uint32;
            description "attribute not found";
          }
    
          leaf last-attribute-not-found-time {
            type uint64;
            description
              "last attribute not found time";
          }
    
          leaf num-fb-cookies {
            type uint32;
            description "num fb cookies";
          }
    
          leaf last-fb-cookie-op {
            type uint64;
            description "last fb cookie op";
          }
    
          leaf invalid-path-combination {
            type uint32;
            description
              "invalid path combination";
          }
    
          leaf invalid-pathid-change {
            type uint32;
            description "invalid pathid change";
          }
    
          leaf path-attribute-too-large {
            type uint32;
            description
              "path attribute too large";
          }
        }  // grouping RIB-EDM-STATS-ROUTE-OP
    
        grouping IPV4-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY {
          description
            "Summary of RIB client protocol statistic summary";
          container route-op-stats {
            description "route op stats";
            uses RIB-EDM-STATS-ROUTE-OP;
          }  // container route-op-stats
    
          container adv {
            description "adv";
            uses RIB-EDM-STATS-ADVERTISEMENT;
          }  // container adv
    
          container complete-stats {
            description "complete stats";
            uses RIB-EDM-STATS-BATCH-COMPLETE;
          }  // container complete-stats
    
          container converge-stats {
            description "converge stats";
            uses RIB-EDM-STATS-BATCH-CONVERGE;
          }  // container converge-stats
    
          container complete-update-stats {
            description "complete update stats";
            uses RIB-EDM-STATS-COMPLETE-UPDATE;
          }  // container complete-update-stats
    
          container purge-stats {
            description "purge stats";
            uses RIB-EDM-STATS-PURGE;
          }  // container purge-stats
    
          container nh-stats {
            description "nh stats";
            uses IPV4-RIB-EDM-STATS-NEXTHOP;
          }  // container nh-stats
    
          leaf protocol-name {
            type string;
            description " Name of Protocol";
          }
    
          leaf instance {
            type string;
            description "Instance name";
          }
    
          list opaque-stat {
            max-elements 16;
            description "opaque stat";
            uses RIB-EDM-STATS-OPAQUE;
          }  // list opaque-stat
        }  // grouping IPV4-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY
    
        grouping RIB-EDM-STATS-CLIENT-UG-START {
          description
            "BCDL update group notify timer statistics";
          leaf bcdl-ug-notify-num-not-started {
            type uint32;
            description
              "bcdl ug notify num not started";
          }
    
          leaf bcdl-ug-last-notify-not-started-time {
            type uint64;
            description
              "bcdl ug last notify not started time";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-UG-START
    
        grouping RIB-EDM-STATS-CLIENT-FIB-UG-UPD {
          description
            "FIB update group updates statistics";
          leaf fib-ug-updates {
            type uint32;
            description "fib ug updates";
          }
    
          leaf fib-ug-total-nodes {
            type uint32;
            description "fib ug total nodes";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-FIB-UG-UPD
    
        grouping RIB-EDM-STATS-CLIENT-LOOKUPS {
          description "Lookup statistics";
          leaf best-local-address {
            type uint32;
            description "best local address";
          }
    
          leaf is-connected {
            type uint32;
            description "is connected";
          }
    
          leaf route-lookups {
            type uint32;
            description "route lookups";
          }
    
          leaf next-hop-lookups {
            type uint32;
            description "next hop lookups";
          }
    
          leaf default-source {
            type uint32;
            description "default source";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-LOOKUPS
    
        grouping RIB-EDM-STATS-CLIENT-ATTRIBUTE {
          description
            "Attribute operation statistics";
          leaf total-registration {
            type uint32;
            description "total registration";
          }
    
          leaf total-add {
            type uint32;
            description "total add";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-result {
            type boolean;
            description "last result";
          }
    
          leaf last-registration {
            type uint64;
            description "last registration";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-ATTRIBUTE
    
        grouping RIB-EDM-STATS-CLIENT-REDIST-TBL {
          description
            "Table redistribution statistics";
          leaf total-table-redist {
            type uint32;
            description "total table redist";
          }
    
          leaf table-created {
            type uint32;
            description "table created";
          }
    
          leaf table-full {
            type uint32;
            description "table full";
          }
    
          leaf has-space {
            type uint32;
            description "has space";
          }
    
          leaf last-redist {
            type uint8;
            description "last redist";
          }
    
          leaf last-redist-time {
            type uint64;
            description "last redist time";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-REDIST-TBL
    
        grouping RIB-EDM-STATS-CLIENT-TBL {
          description
            "Table operation statistics";
          leaf total-table-register {
            type uint32;
            description "total table register";
          }
    
          leaf new-table {
            type uint32;
            description "new table";
          }
    
          leaf modification {
            type uint32;
            description "modification";
          }
    
          leaf deletion {
            type uint32;
            description "deletion";
          }
    
          leaf cl-lookup-err {
            type uint32;
            description "cl lookup err";
          }
    
          leaf tbl-lookup-err {
            type uint32;
            description "tbl lookup err";
          }
    
          leaf invalid-id-lookup-err {
            type uint32;
            description "invalid id lookup err";
          }
    
          leaf tbl-create-err {
            type uint32;
            description "tbl create err";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-result {
            type boolean;
            description "last result";
          }
    
          leaf last-registration {
            type uint64;
            description "last registration";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-TBL
    
        grouping RIB-EDM-STATS-CLIENT-REDIST {
          description
            "Client redistribution stats";
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-REDIST
    
        grouping EVT-HIST-ENTRY {
          description "Event history Entry";
          leaf evt-timestamp {
            type string;
            description
              "The timestamp of the event";
          }
    
          leaf evt-name {
            type string;
            description "Event name";
          }
    
          leaf evt-type {
            type uint8;
            description "Event type";
          }
    
          leaf evt-many {
            type boolean;
            description "Multiple instance flag";
          }
    
          leaf evt-sticky {
            type boolean;
            description "Sticky flag";
          }
    
          list evt-data {
            description "Optional data";
            leaf entry {
              type uint32;
              description "Optional data";
            }
          }  // list evt-data
        }  // grouping EVT-HIST-ENTRY
    
        grouping EVT-HIST-INFO {
          description "Per object event history";
          leaf evt-class-name {
            type string;
            description "Class name string";
          }
    
          list evt-entry {
            description "Array of event entries";
            uses EVT-HIST-ENTRY;
          }  // list evt-entry
        }  // grouping EVT-HIST-INFO
    
        grouping RIB-EDM-STATS-CLIENT-NOTF {
          description "RIB pulse statistics";
          container evt-hist {
            description "evt hist";
            uses EVT-HIST-INFO;
          }  // container evt-hist
    
          leaf total-notifications {
            type uint32;
            description "total notifications";
          }
    
          leaf clear {
            type uint32;
            description "clear";
          }
    
          leaf nexthop-critical {
            type uint32;
            description "nexthop critical";
          }
    
          leaf nexthop-noncritical {
            type uint32;
            description "nexthop noncritical";
          }
    
          leaf nexthop-converge {
            type uint32;
            description "nexthop converge";
          }
    
          leaf redist-register {
            type uint32;
            description "redist register";
          }
    
          leaf redist-reset {
            type uint32;
            description "redist reset";
          }
    
          leaf preceeding-client {
            type uint32;
            description "preceeding client";
          }
    
          leaf redist-list {
            type uint32;
            description "redist list";
          }
    
          leaf gc-proto {
            type uint32;
            description "gc proto";
          }
    
          leaf gc-db {
            type uint32;
            description "gc db";
          }
    
          leaf gc-attribute {
            type uint32;
            description "gc attribute";
          }
    
          leaf table-event {
            type uint32;
            description "table event";
          }
    
          leaf feedback-cookie {
            type uint32;
            description "feedback cookie";
          }
    
          leaf fib-ug-update {
            type uint32;
            description "fib ug update";
          }
    
          leaf critical {
            type uint32;
            description "critical";
          }
    
          leaf non-critical {
            type uint32;
            description "non critical";
          }
    
          leaf delay-timer {
            type uint32;
            description "delay timer";
          }
    
          leaf skip-notification {
            type uint32;
            description "skip notification";
          }
    
          leaf end-of-data {
            type uint32;
            description "end of data";
          }
    
          leaf disconnect {
            type uint32;
            description "disconnect";
          }
    
          leaf srv6-redist-register {
            type uint32;
            description "srv6 redist register";
          }
    
          leaf srv6-cfg-updt {
            type uint32;
            description "srv6 cfg updt";
          }
    
          leaf srv6-opcode-updt {
            type uint32;
            description "srv6 opcode updt";
          }
    
          leaf state-sync-done {
            type uint32;
            description "state sync done";
          }
    
          leaf last-notification {
            type uint64;
            description "last notification";
          }
    
          leaf last-eod {
            type uint64;
            description "last eod";
          }
    
          leaf total-pulse {
            type uint64;
            description "total pulse";
          }
    
          leaf total-select {
            type uint64;
            description "total select";
          }
    
          leaf total-read {
            type uint64;
            description "total read";
          }
        }  // grouping RIB-EDM-STATS-CLIENT-NOTF
    
        grouping IPV4-RIB-EDM-CLIENT-STATS-SUMMARY {
          description
            "Summary of RIB client statistics";
          container notification {
            description "notification";
            uses RIB-EDM-STATS-CLIENT-NOTF;
          }  // container notification
    
          container redist {
            description "redist";
            uses RIB-EDM-STATS-CLIENT-REDIST;
          }  // container redist
    
          container tbl-stats {
            description "tbl stats";
            uses RIB-EDM-STATS-CLIENT-TBL;
          }  // container tbl-stats
    
          container redist-tbl {
            description "redist tbl";
            uses RIB-EDM-STATS-CLIENT-REDIST-TBL;
          }  // container redist-tbl
    
          container attribute {
            description "attribute";
            uses RIB-EDM-STATS-CLIENT-ATTRIBUTE;
          }  // container attribute
    
          container lookups {
            description "lookups";
            uses RIB-EDM-STATS-CLIENT-LOOKUPS;
          }  // container lookups
    
          container fib-ug {
            description "fib ug";
            uses RIB-EDM-STATS-CLIENT-FIB-UG-UPD;
          }  // container fib-ug
    
          container ug-start-stats {
            description "ug start stats";
            uses RIB-EDM-STATS-CLIENT-UG-START;
          }  // container ug-start-stats
    
          leaf client-id {
            type uint32;
            description "client id";
          }
        }  // grouping IPV4-RIB-EDM-CLIENT-STATS-SUMMARY
    
        grouping RIB-EDM-STATS-REDIST-SRV6 {
          description
            "SRv6 redistribution statistics";
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
        }  // grouping RIB-EDM-STATS-REDIST-SRV6
    
        grouping RIB-EDM-STATS-REDIST-OPAQUE {
          description
            "Opaque redistribution statistics";
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf total-tbl-entries {
            type uint32;
            description "total tbl entries";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
        }  // grouping RIB-EDM-STATS-REDIST-OPAQUE
    
        grouping RIB-EDM-STATS-REDIST-ATTR {
          description
            "Attribe redistribution statistics";
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf total-tbl-entries {
            type uint32;
            description "total tbl entries";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
        }  // grouping RIB-EDM-STATS-REDIST-ATTR
    
        grouping RIB-EDM-STATS-REDIST-ROUTE {
          description
            "Route redistribution statistics";
          leaf total-redist {
            type uint32;
            description "total redist";
          }
    
          leaf update-sent {
            type uint32;
            description "update sent";
          }
    
          leaf paths-sent {
            type uint32;
            description "paths sent";
          }
    
          leaf prefixes-deleted {
            type uint32;
            description "prefixes deleted";
          }
    
          leaf total-advertisment {
            type uint32;
            description "total advertisment";
          }
    
          leaf last-redist-delete {
            type boolean;
            description "last redist delete";
          }
    
          leaf last-redist {
            type uint64;
            description "last redist";
          }
        }  // grouping RIB-EDM-STATS-REDIST-ROUTE
    
        grouping IPV4-RIB-EDM-STATS-REDIST {
          description
            "Redistribution statistics";
          container route {
            description "route";
            uses RIB-EDM-STATS-REDIST-ROUTE;
          }  // container route
    
          container attr {
            description "attr";
            uses RIB-EDM-STATS-REDIST-ATTR;
          }  // container attr
    
          container srv6 {
            description "srv6";
            uses RIB-EDM-STATS-REDIST-SRV6;
          }  // container srv6
    
          leaf protocol-name {
            type string;
            description " Name of Protocol";
          }
    
          leaf instance {
            type string;
            description "Instance name";
          }
    
          list opaque-stat {
            max-elements 16;
            description "opaque stat";
            uses RIB-EDM-STATS-REDIST-OPAQUE;
          }  // list opaque-stat
        }  // grouping IPV4-RIB-EDM-STATS-REDIST
    
        grouping IPV4-RIB-EDM-RECURSION-DEPTH-MAX {
          description
            "Information about the maximum recursion depth in
           the RIB";
          leaf current {
            type uint32;
            description
              "Current maximum recursion depth";
          }
    
          leaf configured {
            type uint32;
            description
              "Configured maximum recursion depth";
          }
        }  // grouping IPV4-RIB-EDM-RECURSION-DEPTH-MAX
    
        grouping RIB-EDM-STATS-GRID-SUMMARY {
          description
            "RIB EDM STATS GRID SUMMARY";
          leaf num-in-queue {
            type uint32;
            description "num in queue";
          }
    
          leaf num-enqueue {
            type uint32;
            description "num enqueue";
          }
    
          leaf num-dequeue {
            type uint32;
            description "num dequeue";
          }
    
          leaf num-enqueue-del-skipped {
            type uint32;
            description
              "num enqueue del skipped";
          }
    
          leaf num-requeue {
            type uint32;
            description "num requeue";
          }
        }  // grouping RIB-EDM-STATS-GRID-SUMMARY
    
        grouping RIB-EDM-STATS-NH-BATCH-SUMMARY {
          description
            "RIB batch nexthop statistics informatio";
          leaf total-nh-batch-requests {
            type uint32;
            description
              "total nh batch requests";
          }
    
          leaf total-nh-operations {
            type uint32;
            description "total nh operations";
          }
    
          leaf batch-init {
            type uint32;
            description "batch init";
          }
    
          leaf batch-register {
            type uint32;
            description "batch register";
          }
    
          leaf batch-unregister {
            type uint32;
            description "batch unregister";
          }
    
          leaf register-complete {
            type uint32;
            description "register complete";
          }
    
          leaf sync-register {
            type uint32;
            description "sync register";
          }
    
          leaf batch-finish {
            type uint32;
            description "batch finish";
          }
    
          leaf batch-null {
            type uint32;
            description "batch null";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-client {
            type uint32;
            description "last client";
          }
    
          leaf last-nh-operation {
            type uint32;
            description "last nh operation";
          }
    
          leaf last-result {
            type boolean;
            description "last result";
          }
    
          leaf last-nh-time {
            type uint64;
            description "last nh time";
          }
        }  // grouping RIB-EDM-STATS-NH-BATCH-SUMMARY
    
        grouping RIB-EDM-STATS-LWM-SUMMARY {
          description
            "RIB EDM STATS LWM SUMMARY";
          leaf total-lwm {
            type uint32;
            description "total lwm";
          }
    
          leaf route-add {
            type uint32;
            description "route add";
          }
    
          leaf route-delete {
            type uint32;
            description "route delete";
          }
    
          leaf purge-protocol {
            type uint32;
            description "purge protocol";
          }
    
          leaf purge-client {
            type uint32;
            description "purge client";
          }
    
          leaf protocol-register {
            type uint32;
            description "protocol register";
          }
    
          leaf protocol-unregister {
            type uint32;
            description "protocol unregister";
          }
    
          leaf protocol-modify {
            type uint32;
            description "protocol modify";
          }
    
          leaf redist-proto {
            type uint32;
            description "redist proto";
          }
    
          leaf unreg-redist-proto {
            type uint32;
            description "unreg redist proto";
          }
    
          leaf redist-reset {
            type uint32;
            description "redist reset";
          }
    
          leaf update-complete {
            type uint32;
            description "update complete";
          }
    
          leaf advertisement {
            type uint32;
            description "advertisement";
          }
    
          leaf unreg-advertisement {
            type uint32;
            description "unreg advertisement";
          }
    
          leaf next-hop-register {
            type uint32;
            description "next hop register";
          }
    
          leaf next-hop-unregister {
            type uint32;
            description "next hop unregister";
          }
    
          leaf bind-data {
            type uint32;
            description "bind data";
          }
    
          leaf succcess {
            type uint32;
            description "succcess";
          }
    
          leaf route-lookup {
            type uint32;
            description "route lookup";
          }
    
          leaf best-local-addr {
            type uint32;
            description "best local addr";
          }
    
          leaf is-connected {
            type uint32;
            description "is connected";
          }
    
          leaf first-hop {
            type uint32;
            description "first hop";
          }
    
          leaf find-proto {
            type uint32;
            description "find proto";
          }
    
          leaf free-all-srv6-sid {
            type uint32;
            description "free all srv6 sid";
          }
    
          leaf other {
            type uint32;
            description "other";
          }
    
          leaf last-client {
            type uint32;
            description "last client";
          }
    
          leaf last-operation {
            type uint32;
            description "last operation";
          }
    
          leaf last-oper-result {
            type boolean;
            description "last oper result";
          }
    
          leaf last-lwm-time {
            type uint64;
            description "last lwm time";
          }
        }  // grouping RIB-EDM-STATS-LWM-SUMMARY
    
        grouping RIB-EDM-STATS-BATCH-SUMMARY {
          description
            "RIB Batch statistic information";
          leaf total-msg-rx {
            type uint32;
            description "total msg rx";
          }
    
          leaf route-op-arg-rx {
            type uint32;
            description "route op arg rx";
          }
    
          leaf attribute-arg-rx {
            type uint32;
            description "attribute arg rx";
          }
    
          leaf complete-arg-rx {
            type uint32;
            description "complete arg rx";
          }
    
          leaf converge-arg-rx {
            type uint32;
            description "converge arg rx";
          }
    
          leaf opaque-arg-rx {
            type uint32;
            description "opaque arg rx";
          }
    
          leaf total-fwd-ref {
            type uint32;
            description "total fwd ref";
          }
    
          leaf invalid-client-id-error {
            type uint32;
            description
              "invalid client id error";
          }
    
          leaf mem-alloc-error {
            type uint32;
            description "mem alloc error";
          }
    
          leaf client-lookup-error {
            type uint32;
            description "client lookup error";
          }
    
          leaf db-lookup-error {
            type uint32;
            description "db lookup error";
          }
    
          leaf proto-lookup-error {
            type uint32;
            description "proto lookup error";
          }
    
          leaf client-proto-lookup-error {
            type uint32;
            description
              "client proto lookup error";
          }
    
          leaf table-missing-error {
            type uint32;
            description "table missing error";
          }
    
          leaf unknown-arg {
            type uint32;
            description "unknown arg";
          }
    
          leaf success {
            type uint32;
            description "success";
          }
    
          leaf last-result {
            type uint32;
            description "last result";
          }
    
          leaf last-operation {
            type uint32;
            description "last operation";
          }
    
          leaf last-client {
            type uint32;
            description "last client";
          }
    
          leaf last-msg-rx-time {
            type uint64;
            description "last msg rx time";
          }
        }  // grouping RIB-EDM-STATS-BATCH-SUMMARY
    
        grouping IPV4-RIB-EDM-STATS-SUMMARY {
          description
            "Summary of RIB statistic information";
          container batch-stats {
            description "batch stats";
            uses RIB-EDM-STATS-BATCH-SUMMARY;
          }  // container batch-stats
    
          container lwm-stats {
            description "lwm stats";
            uses RIB-EDM-STATS-LWM-SUMMARY;
          }  // container lwm-stats
    
          container nh-batch-stats {
            description "nh batch stats";
            uses RIB-EDM-STATS-NH-BATCH-SUMMARY;
          }  // container nh-batch-stats
    
          container grid-stats {
            description "grid stats";
            uses RIB-EDM-STATS-GRID-SUMMARY;
          }  // container grid-stats
        }  // grouping IPV4-RIB-EDM-STATS-SUMMARY
    
        grouping IPV4-RIB-EDM-NHID-OBJ {
          description
            "Information of nhid objects";
          leaf nhid {
            type uint32;
            description "nhid";
          }
    
          leaf feid {
            type uint64;
            description "feid";
          }
    
          leaf nh-addr {
            type Ipv4-rib-edm-addr;
            description "nh addr";
          }
    
          leaf ifindex {
            type xr:Interface-name;
            description "ifindex";
          }
    
          leaf chkpt-obj-id {
            type uint32;
            description "chkpt obj id";
          }
    
          leaf ref-count {
            type uint32;
            description "ref count";
          }
    
          leaf feature-type {
            type uint8;
            description "feature type";
          }
        }  // grouping IPV4-RIB-EDM-NHID-OBJ
    
        grouping RIB-EDM-RPF-NBR-OBJ {
          description
            "Information of the rpf nbr data";
          leaf afi {
            type uint8;
            description "afi";
          }
    
          leaf ip-address {
            type Ipv4-rib-edm-addr;
            description "ip address";
          }
        }  // grouping RIB-EDM-RPF-NBR-OBJ
    
        grouping IPV4-RIB-EDM-RPFLIST-OBJ {
          description
            "Informaton of rpf list objects";
          leaf label {
            type uint32;
            description "label";
          }
    
          leaf flags {
            type uint32;
            description "flags";
          }
    
          leaf ref-count {
            type uint32;
            description "ref count";
          }
    
          leaf sent-to-fib {
            type boolean;
            description "sent to fib";
          }
    
          list nbr {
            description "nbr";
            uses RIB-EDM-RPF-NBR-OBJ;
          }  // list nbr
        }  // grouping IPV4-RIB-EDM-RPFLIST-OBJ
    
        grouping IPV4-RIB-EDM-NH-STATS {
          description
            "Nexthop statistics for a table";
          leaf num-resolved-nh {
            type uint32;
            description
              "Number of resolved nexthop";
          }
    
          leaf num-unresolved-nh {
            type uint32;
            description
              "Number of unresolved nexthop";
          }
        }  // grouping IPV4-RIB-EDM-NH-STATS
    
        grouping IPV4-RIB-EDM-TABLE {
          description
            "Information of a routing table";
          leaf tableid {
            type uint32;
            description "Table id";
          }
    
          leaf afi {
            type uint32;
            description "Address Family";
          }
    
          leaf safi {
            type uint32;
            description "sub Address Family";
          }
    
          leaf vrf-name {
            type string;
            description "VRF Name of the table";
          }
    
          leaf table-name {
            type string;
            description "Name of the table";
          }
    
          leaf version {
            type uint64;
            description "Table version";
          }
    
          leaf conf-prefix-limit {
            type uint32;
            description
              "Configured prefix limit";
          }
    
          leaf current-prefix-count {
            type uint32;
            description "Num prefixes in table";
          }
    
          leaf num-svdlcl-prefix {
            type uint32;
            description "Num SVD local prefixes";
          }
    
          leaf num-svdrem-prefix {
            type uint32;
            description
              "Num SVD remote prefixes";
          }
    
          leaf table-version {
            type uint64;
            description
              "Version no. of the table";
          }
    
          leaf prefix-limit-notified {
            type boolean;
            description
              "Prefix limit state indicator";
          }
    
          leaf fwd-referenced {
            type boolean;
            description
              "Table in fwd reference state?";
          }
    
          leaf deleted {
            type boolean;
            description "Table deleted?";
          }
    
          leaf initial-converge {
            type boolean;
            description
              "Table has reached convergence";
          }
        }  // grouping IPV4-RIB-EDM-TABLE
    
        grouping RIB-EDM-ROUTE-COUNT {
          description "Specifics of route count";
          leaf active-routes-count {
            type uint32;
            description
              "Number of active routes";
          }
    
          leaf num-backup-routes {
            type uint32;
            description
              "Number of backup (inactive) routes";
          }
    
          leaf num-active-paths {
            type uint32;
            description
              "Number of paths to active routes";
          }
    
          leaf num-backup-paths {
            type uint32;
            description
              "Number of paths to backup routes";
          }
        }  // grouping RIB-EDM-ROUTE-COUNT
    
        grouping RIB-EDM-PROTO-ROUTE-SUMM-DETAIL {
          description
            "Details of Protocol route types";
          container proto-route-count {
            description
              "Count for proto. instance";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container proto-route-count
    
          container rtype-none {
            description "No route type";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-none
    
          container rtype-other {
            description "Unknown route type";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-other
    
          container rtype-ospf-intra {
            description
              "OSPF route within an area";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-intra
    
          container rtype-ospf-inter {
            description
              "OSPF route across diff. areas";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-inter
    
          container rtype-ospf-extern1 {
            description
              "OSPF external route of type 1";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-extern1
    
          container rtype-ospf-extern2 {
            description
              "OSPF external route of type 2";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-extern2
    
          container rtype-isis-sum {
            description "IS-IS summary route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-isis-sum
    
          container rtype-isis-l1 {
            description "IS-IS level 1 route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-isis-l1
    
          container rtype-isis-l2 {
            description "IS-IS level 2 route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-isis-l2
    
          container rtype-isis-l1-ia {
            description
              "IS-IS level1 inter-area route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-isis-l1-ia
    
          container rtype-bgp-int {
            description "iBGP route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-bgp-int
    
          container rtype-bgp-ext {
            description "eBGP route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-bgp-ext
    
          container rtype-bgp-loc {
            description "BGP local route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-bgp-loc
    
          container rtype-ospf-nssa1 {
            description
              "OSPF NSSA ext. route type 1";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-nssa1
    
          container rtype-ospf-nssa2 {
            description
              "OSPF NSSA ext. route type 2";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-ospf-nssa2
    
          container rtype-igrp2-int {
            description "EIGRP internal route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-igrp2-int
    
          container rtype-igrp2-ext {
            description "EIGRP external route";
            uses RIB-EDM-ROUTE-COUNT;
          }  // container rtype-igrp2-ext
    
          leaf name {
            type string;
            description "Proto name";
          }
    
          leaf instance {
            type string;
            description
              "Instance name of the protocol";
          }
        }  // grouping RIB-EDM-PROTO-ROUTE-SUMM-DETAIL
    
        grouping IPV4-RIB-EDM-ADVERT {
          description
            "Route advertisement information";
          list ipv4-rib-edm-advert {
            description "Next advertising proto";
            leaf protocol-id {
              type uint32;
              description
                "Protocol advertising the route";
            }
    
            leaf client-id {
              type uint32;
              description
                "  Client advertising the route";
            }
    
            leaf number-of-extended-communities {
              type uint32;
              description
                "Number of extended communities attached by
               advertiser";
            }
    
            leaf extended-communities {
              type yang:hex-string;
              description
                "Extended communities attached by the advertiser";
            }
    
            leaf protocol-opaque-flags {
              type uint8;
              description "OSPF area-id flags";
            }
    
            leaf protocol-opaque {
              type uint32;
              description "OSPF area-id";
            }
    
            leaf code {
              type int8;
              description "Protocol code";
            }
    
            leaf instance-name {
              type string {
                length "0..41";
              }
              description
                "Instance name of the protocol advertising the
               route";
            }
          }  // list ipv4-rib-edm-advert
        }  // grouping IPV4-RIB-EDM-ADVERT
    
        grouping RIB-EDM-NH-PATH {
          description
            "Information of a nexthop notification client";
          leaf interface {
            type uint32;
            description "interface";
          }
    
          leaf address {
            type Ipv4-rib-edm-addr;
            description "Address";
          }
    
          leaf tableid {
            type uint32;
            description "tableid";
          }
    
          leaf vrf-name {
            type string;
            description
              "VRF Name of the nh table";
          }
        }  // grouping RIB-EDM-NH-PATH
    
        grouping RIB-EDM-NH-CLIENT {
          description
            "Information of a nexthop notification client";
          list rib-edm-nh-client {
            description "Next client";
            leaf id {
              type uint32;
              description "Client id";
            }
    
            leaf ref-count {
              type uint32;
              description
                "The number NH reference this client";
            }
    
            leaf nh-create-age {
              type uint32;
              description
                "How long has client has been created";
            }
    
            leaf nh-create-time {
              type uint64;
              description "Client creation time";
            }
    
            leaf nh-read-age {
              type uint32;
              description
                "How long ago client read this notification";
            }
    
            leaf nh-read-time {
              type uint64;
              description
                "Client notification read time";
            }
    
            leaf pack-mvpn {
              type boolean;
              description "Pack MVPN";
            }
    
            leaf pack-path-rt {
              type boolean;
              description "Pack path RT";
            }
    
            leaf pack-vrf-import-rt {
              type boolean;
              description "Pack VRF import RT";
            }
    
            leaf pack-source-as-rt {
              type boolean;
              description "Pack source AS RT";
            }
    
            leaf pack-source-rd {
              type boolean;
              description "Pack source RD";
            }
    
            leaf pack-mldp-root {
              type boolean;
              description "Pack MLDP root";
            }
    
            leaf pack-seg-nh {
              type boolean;
              description "Pack seg NH";
            }
    
            leaf notify-reregister {
              type boolean;
              description "Notify Reregister";
            }
          }  // list rib-edm-nh-client
        }  // grouping RIB-EDM-NH-CLIENT
    
        grouping IPV4-RIB-EDM-NH-ADDR {
          description
            "Information of a registered nexthop notification
           address";
          container clients {
            description
              "Client(s) of the address";
            uses RIB-EDM-NH-CLIENT;
          }  // container clients
    
          container resolved-route {
            description
              "Route resolved this nexthop";
            uses IPV4-RIB-EDM-ROUTE;
          }  // container resolved-route
    
          leaf prefix {
            type Ipv4-rib-edm-addr;
            description "Route prefix";
          }
    
          leaf prefix-len {
            type uint32;
            description "Length of prefix";
          }
    
          leaf dest-addr {
            type Ipv4-rib-edm-addr;
            description "Destination address";
          }
    
          leaf dest-intf {
            type uint32;
            description "Destination interface";
          }
    
          leaf dest-tableid {
            type uint32;
            description "Destination tableid";
          }
    
          leaf dest-metric {
            type uint32;
            description "Destination metric";
          }
    
          leaf dest-vrf-name {
            type string;
            description
              "VRF Name of the nh table";
          }
    
          leaf damped {
            type boolean;
            description "Nexthop being damped?";
          }
    
          leaf exact-match-xr {
            type boolean;
            description "Exact match";
          }
    
          leaf allow-default-xr {
            type boolean;
            description "Allow default flag";
          }
    
          leaf recurse-xr {
            type boolean;
            description "Allow recurse flag";
          }
    
          leaf xtable {
            type boolean;
            description "Cross table nexthop";
          }
    
          leaf pack-sf-xr {
            type boolean;
            description
              "Pack SFS paths for multicast";
          }
    
          leaf pack-backup {
            type boolean;
            description "Pack backup paths";
          }
    
          leaf backup-route-xr {
            type boolean;
            description
              "Backup route notifications";
          }
    
          leaf best-metric-xr {
            type boolean;
            description
              "Return lowest metric for dest. metric";
          }
    
          leaf unres-nh-tree {
            type boolean;
            description
              "Context about which tree the server should walk";
          }
    
          leaf flags {
            type uint16;
            description "nh_entry flags";
          }
    
          leaf dest-path-count {
            type uint32;
            description
              "Number of destination paths";
          }
    
          leaf accrued-penalty {
            type uint16;
            description "Damped accured penalty";
          }
    
          leaf expiration-age {
            type uint32;
            description
              "How soon the nexthop is undamped";
          }
    
          leaf expiration-time {
            type uint64;
            description
              "Time where the first is undamped";
          }
    
          leaf min-damped-threshold {
            type uint32;
            description
              "Minimum damped threshold";
          }
    
          leaf max-damped-penalty {
            type uint32;
            description
              "Maximum damped threshold";
          }
    
          leaf decay-rate {
            type uint32;
            description "Damped decay rate";
          }
    
          leaf version {
            type uint32;
            description "Event version";
          }
    
          leaf last-event-age {
            type uint32;
            description
              "How long since last event occured";
          }
    
          leaf last-event-time {
            type uint64;
            description
              "Time at which last event occured";
          }
    
          list dest-path {
            description "Path(s) of the route";
            uses RIB-EDM-NH-PATH;
          }  // list dest-path
        }  // grouping IPV4-RIB-EDM-NH-ADDR
    
        grouping RIB-EDM-OPAQUE-OBJ {
          description
            "Informaton of an opaque data";
          leaf key {
            type yang:hex-string;
            description
              "The unique ID assigned to the opaque object by
             client";
          }
    
          leaf data {
            type yang:hex-string;
            description
              "The data part of the opaque object";
          }
        }  // grouping RIB-EDM-OPAQUE-OBJ
    
        grouping IPV4-RIB-EDM-PROTO {
          description
            "Information of a rib protocol";
          leaf protocol-names {
            type string;
            description "Name";
          }
    
          leaf instance {
            type string;
            description
              "Instance name of the protocol";
          }
    
          leaf version {
            type uint32;
            description "Proto version";
          }
    
          leaf redistribution-client-count {
            type uint32;
            description
              "Number of redist clients";
          }
    
          leaf protocol-clients-count {
            type uint32;
            description
              "Number of proto clients";
          }
    
          leaf routes-counts {
            type uint32;
            description
              "Number of routes (including active, backup and
             deleted), where, number of backup routes =
             RoutesCounts - ActiveRoutesCount -
             DeletedRoutesCount ";
          }
    
          leaf active-routes-count {
            type uint32;
            description
              "Number of active routes (not deleted)";
          }
    
          leaf deleted-routes-count {
            type uint32;
            description
              "Number of deleted routes";
          }
    
          leaf paths-count {
            type uint32;
            description
              "Number of paths for all routes";
          }
    
          leaf protocol-route-memory {
            type uint32;
            units "byte";
            description
              "Memory for proto's routes and paths in bytes";
          }
    
          leaf backup-routes-count {
            type uint32;
            description
              "Number of backup routes";
          }
        }  // grouping IPV4-RIB-EDM-PROTO
    
        grouping RIB-EDM-VIA-SRV6-SID {
          description
            "Information related to Via-SRv6-SID";
          leaf sid {
            type inet:ipv6-address;
            description "Via-SRv6-SID value";
          }
    
          leaf resolution-length {
            type uint8;
            description "FIB Resolution length";
          }
        }  // grouping RIB-EDM-VIA-SRV6-SID
    
        grouping MGMT-SRV6-HEADEND-BEHAVIOR {
          description
            "SRv6 Headend Behavior Info";
          leaf type {
            type Mgmt-srv6-headend;
            description "Behavior type";
          }
    
          leaf description {
            type string;
            description "Behavior description";
          }
        }  // grouping MGMT-SRV6-HEADEND-BEHAVIOR
    
        grouping MGMT-SRV6-SID {
          description "SRv6 SID";
          leaf sid {
            type inet:ipv6-address;
            description "SID value";
          }
        }  // grouping MGMT-SRV6-SID
    
        grouping RIB-EDM-PATH-SRV6-INFO {
          description
            "RIB path's SRv6 related information";
          container srv6-carrier-format {
            description "SRv6 Carrier Format";
            uses MGMT-SRV6-SID-FMT;
          }  // container srv6-carrier-format
    
          container srv6-headend-behavior {
            description
              "SRv6 headend behavior/type info";
            uses MGMT-SRV6-HEADEND-BEHAVIOR;
          }  // container srv6-headend-behavior
    
          container via-srv6-sid {
            description "Via-SRv6-SID value";
            uses RIB-EDM-VIA-SRV6-SID;
          }  // container via-srv6-sid
    
          leaf number-of-srv6-carriers {
            type uint8;
            description
              "Number of SRv6 Carriers";
          }
    
          leaf has-srv6-headend-behavior {
            type boolean;
            description
              "Path has some SRv6 head-end behavior associated";
          }
    
          leaf has-via-srv6-sid {
            type boolean;
            description
              "Via-SRv6-SID is present";
          }
    
          list srv6-carrier {
            description
              "List of SRv6 Carriers with one or more SIDs";
            uses MGMT-SRV6-SID;
          }  // list srv6-carrier
        }  // grouping RIB-EDM-PATH-SRV6-INFO
    
        grouping RIB-EDM-PATH-L2-INFO {
          description
            "Information of L2 Info attribute in path";
          leaf xcid {
            type uint32;
            description
              "L2 Cross Connect ID for this path";
          }
    
          leaf ac-interface {
            type xr:Interface-name;
            description "L2 AC Interface";
          }
        }  // grouping RIB-EDM-PATH-L2-INFO
    
        grouping RIB-EDM-NNH {
          description
            "Information of a NNH in path installed in RIB";
          leaf type {
            type Rib-edm-nnh;
            description "type";
          }
    
          leaf unknownval {
            when "../type = 'unknown'" {
              description "../type = 'Unknown'";
            }
            type uint32;
            description "Unknown Value";
          }
    
          leaf address {
            when "../type = 'ipv4-address'" {
              description
                "../type = 'IPv4Address'";
            }
            type inet:ipv4-address;
            description "IPv4 Address";
          }
    
          leaf interface-index {
            when "../type = 'if-index'" {
              description "../type = 'IfIndex'";
            }
            type uint32;
            description "Interface Index";
          }
        }  // grouping RIB-EDM-NNH
    
        grouping IPV4-RIB-EDM-PATH {
          description
            "Information of a rib path";
          list ipv4-rib-edm-path {
            description "Next path";
            container l2-info {
              description
                "L2 Info for this path";
              uses RIB-EDM-PATH-L2-INFO;
            }  // container l2-info
    
            container srv6-info {
              description
                "SRv6 related information";
              uses RIB-EDM-PATH-SRV6-INFO;
            }  // container srv6-info
    
            leaf address {
              xr:event-telemetry "Subscribe Telemetry Event";
              type Ipv4-rib-edm-addr;
              description "Nexthop";
            }
    
            leaf information-source {
              xr:event-telemetry "Subscribe Telemetry Event";
              type Ipv4-rib-edm-addr;
              description "Infosource";
            }
    
            leaf v6-nexthop {
              xr:event-telemetry "Subscribe Telemetry Event";
              type inet:ipv6-address;
              description
                "IPv6 nexthop for v4 over v6";
            }
    
            leaf v6-information-source {
              xr:event-telemetry "Subscribe Telemetry Event";
              type inet:ipv6-address;
              description "V6 Infosource";
            }
    
            leaf interface-name {
              xr:event-telemetry "Subscribe Telemetry Event";
              type xr:Interface-name;
              description
                "Interface handle for the path's nexthop";
            }
    
            leaf metric {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description "Metrics";
            }
    
            leaf load-metric {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description "Load Metrics";
            }
    
            leaf flags64 {
              type uint64;
              description
                "Flags extended to 64 bits";
            }
    
            leaf flags {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint16;
              description "Flags";
            }
    
            leaf private-flags {
              type uint16;
              description
                "Private Flags, used internally by RIB";
            }
    
            leaf minimum-recurse-length {
              type uint8;
              description
                "Minimum netmask length of recursive resolving
               route";
            }
    
            leaf looped {
              type boolean;
              description "Looping path";
            }
    
            leaf next-hop-table-id {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "The table to which the next hop belongs";
            }
    
            leaf next-hop-vrf-name {
              xr:event-telemetry "Subscribe Telemetry Event";
              type string;
              description
                "VRF Name of the nh table";
            }
    
            leaf next-hop-table-name {
              xr:event-telemetry "Subscribe Telemetry Event";
              type string;
              description "NH table name";
            }
    
            leaf next-hop-afi {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description "NH afi";
            }
    
            leaf next-hop-safi {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description "NH safi";
            }
    
            leaf route-label {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "Label associated with this path";
            }
    
            leaf tunnel-id {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "Tunnel ID associated with this path";
            }
    
            leaf pathid {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description "Path id of this path";
            }
    
            leaf backup-pathid {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "Path id of this path's backup";
            }
    
            leaf ref-cnt-of-backup {
              type uint32;
              description
                "For backup paths, the number of active paths
               protected by the backup path";
            }
    
            leaf number-of-extended-communities {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "Number of extended communities associated with
               this path";
            }
    
            leaf mvpn-present {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description
                "MVPN attribute present";
            }
    
            leaf path-rt-present {
              type boolean;
              description "Path RT present";
            }
    
            leaf vrf-import-rt-present {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description "VRFIMPORTRTPresent";
            }
    
            leaf source-asrt-present {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description "SOURCEASRTPresent";
            }
    
            leaf source-rd-present {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description "SOURCERDPresent";
            }
    
            leaf segmented-nexthop-present {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description
                "Segmented NH attributes present for this path";
            }
    
            leaf number-of-nnh {
              type uint32;
              description
                "Number of Next Next Hops";
            }
    
            leaf next-hop-id {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "NHID associated with this path";
            }
    
            leaf next-hop-id-refcount {
              type uint32;
              description "NHID references";
            }
    
            leaf ospf-area-id {
              xr:event-telemetry "Subscribe Telemetry Event";
              type string;
              description
                "OSPF area associated with the path";
            }
    
            leaf has-labelstk {
              xr:event-telemetry "Subscribe Telemetry Event";
              type boolean;
              description
                "Path has a label stack";
            }
    
            leaf num-labels {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint8;
              description
                "Number of labels in stack";
            }
    
            leaf binding-label {
              xr:event-telemetry "Subscribe Telemetry Event";
              type uint32;
              description
                "binding Label for this path";
            }
    
            leaf nhid-feid {
              type uint64;
              description "Fib nhid encap id";
            }
    
            leaf mpls-feid {
              type uint64;
              description "Fib mpls encap id";
            }
    
            leaf has-vxlan-network-id {
              type boolean;
              description
                "VXLAN Network Identifier exists for this path";
            }
    
            leaf vxlan-network-id {
              type uint32;
              description
                "VXLAN Network Identifier for this path";
            }
    
            leaf has-xcid {
              type boolean;
              description
                "L2 Cross Connect ID exists for this path";
            }
    
            leaf xcid {
              type uint32;
              description
                "L2 Cross Connect ID for this path";
            }
    
            leaf has-span-diag-interface {
              type boolean;
              description
                "SPAN Diagnostics Interface exists for this path";
            }
    
            leaf span-diag-interface {
              type xr:Interface-name;
              description
                "SPAN Diagnostics Interface for this path";
            }
    
            leaf has-subscriber-parent-interface {
              type boolean;
              description
                "Subscriber Parent Interface exists for this
               path";
            }
    
            leaf subscriber-parent-interface {
              type xr:Interface-name;
              description
                "Subscriber Parent Interface for this path";
            }
    
            leaf interface-index-present {
              type boolean;
              description
                "Flag to indicate if interface index attribute
               is present for this path";
            }
    
            leaf interface-index-attribute {
              type uint32;
              description
                "Interface Index attribute";
            }
    
            leaf iid-present {
              type boolean;
              description "Internal ID present";
            }
    
            leaf iid {
              type Ipv4-rib-edm-addr;
              description
                "Internal ID attribute";
            }
    
            leaf has-l2-info {
              type boolean;
              description
                "L2 Info present for this path";
            }
    
            list remote-backup-addr {
              max-elements 2;
              description
                "Remote backup node address";
              leaf entry {
                xr:event-telemetry "Subscribe Telemetry Event";
                type Ipv4-rib-edm-addr;
                description
                  "Remote backup node address";
              }
            }  // list remote-backup-addr
    
            list labelstk {
              description
                "Outgoing label stack for this path";
              leaf entry {
                xr:event-telemetry "Subscribe Telemetry Event";
                type uint32;
                description
                  "Outgoing label stack for this path";
              }
            }  // list labelstk
    
            list next-next-hop {
              description
                "List of Next Next Hops";
              uses RIB-EDM-NNH;
            }  // list next-next-hop
          }  // list ipv4-rib-edm-path
        }  // grouping IPV4-RIB-EDM-PATH
    
        grouping MGMT-SRV6-SID-FMT {
          description "SRv6 SID Format Info";
          leaf type {
            type Mgmt-srv6-sid-fmt;
            description "Format type";
          }
    
          leaf description {
            type string;
            description "Format description";
          }
        }  // grouping MGMT-SRV6-SID-FMT
    
        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 RIB-EDM-ROUTE-SRV6-INFO {
          description
            "RIB route's SRv6 related information";
          container srv6-endpoint-behavior {
            description
              "SRv6 Endpoint behavior/type";
            uses MGMT-SRV6-ENDPOINT-BEHAVIOR;
          }  // container srv6-endpoint-behavior
    
          container srv6-format {
            description "SRv6 Format";
            uses MGMT-SRV6-SID-FMT;
          }  // container srv6-format
    
          leaf is-srv6-endpoint {
            type boolean;
            description
              "Route is an SRv6 Endpoint (local SID)";
          }
    
          leaf is-srv6-locator {
            type boolean;
            description
              "Route corresponds to an SRv6 remote locator";
          }
    
          leaf srv6-locator-algo {
            type uint8;
            description
              "SRv6 Algo corresponding to SRv6 remote locator";
          }
        }  // grouping RIB-EDM-ROUTE-SRV6-INFO
    
        grouping RIB-EDM-ALGO-LABEL-SET {
          description
            "Algoritm ID to Local Label information";
          leaf algorithm-id {
            type uint8;
            description "Algorithm Identifier";
          }
    
          leaf label {
            type uint32;
            description "Local label";
          }
    
          leaf metric {
            type uint32;
            description
              "Route Metric associated with Algorithm
             Identifier";
          }
        }  // grouping RIB-EDM-ALGO-LABEL-SET
    
        grouping IPV4-RIB-EDM-ROUTE {
          description
            "Information of a rib route head and rib proto
           route";
          container srv6-info {
            description
              "SRv6 related information";
            uses RIB-EDM-ROUTE-SRV6-INFO;
          }  // container srv6-info
    
          container route-path {
            description "Path(s) of the route";
            uses IPV4-RIB-EDM-PATH;
          }  // container route-path
    
          leaf prefix {
            type Ipv4-rib-edm-addr;
            description "Route prefix";
          }
    
          leaf prefix-length-xr {
            type uint8;
            description "Length of prefix";
          }
    
          leaf route-version {
            type uint32;
            description
              "Route version, incremented by one on each active
             route change";
          }
    
          leaf protocol-id {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description
              "Protocol advertising the route";
          }
    
          leaf protocol-name {
            xr:event-telemetry "Subscribe Telemetry Event";
            type string;
            description " Name of Protocol";
          }
    
          leaf instance {
            type string;
            description "Instance name";
          }
    
          leaf client-id {
            type uint32;
            description
              "Client adding the route to RIB";
          }
    
          leaf route-type {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint16;
            description
              "Type of route installed in RIB";
          }
    
          leaf priority {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint8;
            description "Route priority";
          }
    
          leaf svd-type {
            type uint8;
            description "SVD Type of route";
          }
    
          leaf l2-route-type {
            type uint8;
            description
              "Type of route associated with L2 Service";
          }
    
          leaf flags {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description "Route flags";
          }
    
          leaf extended-flags {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint64;
            description "Extended Route flags";
          }
    
          leaf tag {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description
              "Opaque proto specific info";
          }
    
          leaf distance {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description "Distance of the route";
          }
    
          leaf diversion-distance {
            type uint32;
            description
              "Diversion distance of the route";
          }
    
          leaf metric {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description "Route metric";
          }
    
          leaf paths-count {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint32;
            description "Number of paths";
          }
    
          leaf attribute-identity {
            type uint32;
            description "BGP Attribute ID";
          }
    
          leaf traffic-index {
            type uint8;
            description "BGP Traffic Index";
          }
    
          leaf route-precedence {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint8;
            description
              "IP precedence for this route";
          }
    
          leaf qos-group {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint8;
            description "Route qos group";
          }
    
          leaf flow-tag {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint8;
            description
              "Flow tag for this route";
          }
    
          leaf fwd-class {
            xr:event-telemetry "Subscribe Telemetry Event";
            type uint8;
            description "Forward Class";
          }
    
          leaf pic-count {
            type uint8;
            description
              "Number of pic paths in this route";
          }
    
          leaf active {
            type boolean;
            description
              "Is the route active or backup";
          }
    
          leaf diversion {
            type boolean;
            description
              "Route has a diversion path";
          }
    
          leaf diversion-proto-name {
            type string;
            description
              "Diversion route protocol name";
          }
    
          leaf route-age {
            type uint32;
            units "second";
            description "Age of route (seconds)";
          }
    
          leaf route-label {
            type uint32;
            description
              "Local label of the route";
          }
    
          leaf version {
            type uint32;
            description "Route Version";
          }
    
          leaf tbl-version {
            type uint64;
            description "Table Version";
          }
    
          leaf route-modify-time {
            type uint64;
            units "nanosecond";
            description
              "Route modification time(nanoseconds)";
          }
    
          leaf prefix-feid {
            type uint64;
            description
              "Fib per-prefix encap id";
          }
    
          leaf number-of-algorithm-labels {
            type uint16;
            description
              "Number of Algorithm Labels associated with this
             prefix";
          }
    
          list algorithm-label {
            description
              "List of Algorithm Labels associated with this
             Prefix";
            uses RIB-EDM-ALGO-LABEL-SET;
          }  // list algorithm-label
        }  // grouping IPV4-RIB-EDM-ROUTE
    
        grouping IPV4-RIB-EDM-UG-PRUNED-NODES {
          description
            "RIB updategroup pruned nodes information";
          leaf num-pruned-nodes {
            type uint32;
            description "Number of pruned nodes";
          }
    
          list pruned-node {
            max-elements 256;
            description "Pruned nodes ID";
            leaf entry {
              type uint32;
              description "Pruned nodes ID";
            }
          }  // list pruned-node
        }  // grouping IPV4-RIB-EDM-UG-PRUNED-NODES
    
        grouping IPV4-RIB-EDM-UG {
          description
            "RIB updategroup information";
          leaf ug-id {
            type uint32;
            description "Update Group ID";
          }
    
          leaf client-id {
            type uint32;
            description
              "ClientId associated with UG";
          }
    
          leaf parent-id {
            type int32;
            description "UG's parent if child";
          }
    
          leaf insync {
            type boolean;
            description
              "Is this ug insync with RIB";
          }
    
          leaf freezecnt {
            type uint32;
            description "Freeze count if frozen";
          }
        }  // grouping IPV4-RIB-EDM-UG
    
        grouping IPV4-RIB-EDM-NHID-HIST-OBJ {
          description
            "Information of nhid history objects";
          leaf nhid {
            type uint32;
            description "nhid";
          }
    
          leaf nh-addr {
            type Ipv4-rib-edm-addr;
            description "nh addr";
          }
    
          leaf ifindex {
            type xr:Interface-name;
            description "ifindex";
          }
    
          leaf tableid {
            type uint32;
            description "tableid";
          }
    
          leaf operation {
            type uint32;
            description "operation";
          }
    
          leaf update {
            type uint32;
            description "update";
          }
    
          leaf oper-time {
            type uint64;
            description "oper time";
          }
    
          leaf feature-type {
            type uint8;
            description "feature type";
          }
    
          leaf chkpt-obj-id {
            type uint32;
            description "chkpt obj id";
          }
        }  // grouping IPV4-RIB-EDM-NHID-HIST-OBJ
      }  // submodule Cisco-IOS-XR-ip-rib-ipv4-oper-sub1
    

© 2023 YumaWorks, Inc. All rights reserved.