Cisco-IOS-XR-ipv4-bgp-oper-sub1

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

  • Version: 2021-05-10

    Cisco-IOS-XR-ipv4-bgp-oper-sub1@2021-05-10


    
      submodule Cisco-IOS-XR-ipv4-bgp-oper-sub1 {
    
        yang-version 1;
    
        belongs-to Cisco-IOS-XR-ipv4-bgp-oper {
            prefix Cisco-IOS-XR-ipv4-bgp-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 ipv4-bgp package operational data.
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-10" {
          description
            "Added platform capability mix srte CLI
           2021-03-15
             Added Export Allow Config for backup
           2021-03-05
             Deprecated Hidden commands
           2021-03-05
             Added SR Policy Path Prefernce in Bestpath Compare
           2020-10-04
             Added Soft NextHop Validation and Metric
           2020-09-30
             Added LATEST bestpath comparison reason
           2020-09-18
             Added SRv6 TE BSID information
           2020-07-15
             Changed VRFDBVRFTable pathformat";
        }
    
        revision "2020-06-23" {
          description
            "changed the afi from integer to string in BPM entities
           2020-03-30
           Extended flags to 16 bits and changed leaf names as per convention";
        }
    
        revision "2020-01-11" {
          description
            "Fixing invalid range for prefix length.
           2019-08-31
           Fixing revision error in module.";
        }
    
        revision "2019-04-05" {
          description
            "Fixing backward compatibility error in module";
        }
    
        revision "2019-04-05" {
          description
            "Added schema for opercoverage missing paths";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-06-26" {
          description
            "Change identifiers to be more readable.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-08-27" {
          description "IOS XR 5.3.2 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 Bgp-label-rpf-install {
          type enumeration {
            enum "bgp-label-rpf-install-rib" {
              value 0;
              description "Install via RIB";
            }
            enum "bgp-label-rpf-install-lsd" {
              value 1;
              description "Install via LSD";
            }
          }
          description
            "BGP Label RPF Install Path";
        }
    
        typedef Bgp-rpki-perror {
          type enumeration {
            enum "none" {
              value 0;
              description "No protocol error";
            }
            enum "message-version" {
              value 1;
              description
                "Message version error";
            }
            enum "message-type" {
              value 2;
              description "Message type error";
            }
            enum "message-length" {
              value 3;
              description "Message length error";
            }
            enum "nonce-mismatch" {
              value 4;
              description
                "Server nonce mismatch";
            }
            enum "bad-prefix" {
              value 5;
              description "Bad ROA";
            }
            enum "fsm" {
              value 6;
              description "FSM error";
            }
            enum "no-response" {
              value 7;
              description
                "No response from server";
            }
            enum "error-report" {
              value 8;
              description
                "Server sent error-report";
            }
          }
          description "Bgp rpki perror";
        }
    
        typedef Bgp-rpki-pstate {
          type enumeration {
            enum "not-started" {
              value 0;
              description
                "Server protocol has not started";
            }
            enum "reset" {
              value 1;
              description
                "Server protocol reset";
            }
            enum "refresh" {
              value 2;
              description
                "Server protocol resumed";
            }
            enum "reset-query-sent" {
              value 3;
              description
                "Reset query sent to server";
            }
            enum "serial-query-sent" {
              value 4;
              description
                "Serial query sent to server";
            }
            enum "data-start" {
              value 5;
              description
                "Server started sending data";
            }
            enum "data-end" {
              value 6;
              description
                "Server ended sending data";
            }
          }
          description "Bgp rpki pstate";
        }
    
        typedef Bgp-rpki-creason {
          type enumeration {
            enum "no-close-reason" {
              value 0;
              description "No close reason";
            }
            enum "read-error" {
              value 1;
              description "Socket Read error";
            }
            enum "write-error" {
              value 2;
              description "Socket Write error";
            }
            enum "proto-error" {
              value 3;
              description "Protocol error";
            }
            enum "config-shutdown" {
              value 4;
              description
                "Shutdown by configuration";
            }
            enum "config-removed" {
              value 5;
              description
                "Configuration removed";
            }
            enum "config-changed" {
              value 6;
              description
                "Configuration changed";
            }
            enum "nsr-disabled" {
              value 7;
              description "NSR disabled";
            }
            enum "user-clear" {
              value 8;
              description "Explicity user clear";
            }
            enum "ssh-died" {
              value 9;
              description "SSH process died";
            }
            enum "tcp-died" {
              value 10;
              description "TCP process died";
            }
          }
          description "Bgp rpki creason";
        }
    
        typedef Bgp-rpki-state {
          type enumeration {
            enum "idle" {
              value 0;
              description "Server is idle";
            }
            enum "attempt-connect" {
              value 1;
              description
                "Connect attempt made to server";
            }
            enum "connected" {
              value 2;
              description "Server is connected";
            }
          }
          description "Bgp rpki state";
        }
    
        typedef Bgp-ism-conn-state {
          type enumeration {
            enum "none" {
              value 0;
              description "None - ST 0";
            }
            enum "connect-done" {
              value 1;
              description
                "ISSUMgr connection done - ST 1";
            }
          }
          description "Bgp ism conn state";
        }
    
        typedef Bgp-ds-conn-state {
          type enumeration {
            enum "none" {
              value 0;
              description
                "DS connection not initiated - ST 0";
            }
            enum "connect-init" {
              value 1;
              description
                "DS connection initiated - ST 1";
            }
            enum "connect-fail" {
              value 2;
              description
                "DS connection failed - ST 2";
            }
            enum "connect-estb" {
              value 3;
              description
                "DS connection established - ST 3";
            }
            enum "disconnect-init" {
              value 4;
              description
                "DS disconnect initiated - ST 4";
            }
            enum "disconnect-fail" {
              value 5;
              description
                "DS disconnect failed - ST 5";
            }
            enum "disconnect-done" {
              value 6;
              description
                "DS disconnect done - ST 6";
            }
          }
          description "Bgp ds conn state";
        }
    
        typedef Bgp-scoped-sync-state {
          type enumeration {
            enum "bgp-scope-sync-state-none" {
              value 0;
              description "State none";
            }
            enum
              "bgp-scope-sync-state-not-nsr-ready" {
              value 1;
              description
                "Oper Down when NSR not ready";
            }
            enum
              "bgp-scope-sync-state-timer-start" {
              value 2;
              description
                "Timer started for active batch";
            }
            enum "bgp-scope-sync-state-add-list" {
              value 3;
              description
                "Start adding neighbors to pending batch";
            }
            enum
              "bgp-scope-sync-state-batch-acitve" {
              value 4;
              description "Active batch";
            }
          }
          description "Bgp scoped sync state";
        }
    
        typedef Bgp-bmp-upd-mode {
          type enumeration {
            enum "bgp-bmp-upd-n-either" {
              value 0;
              description
                "Neither of the modes are enabled";
            }
            enum "bgp-bmp-upd-route-mon" {
              value 1;
              description
                "Route Monotoring mode enabled";
            }
            enum "bgp-bmp-upd-route-mirr" {
              value 2;
              description
                "Route Mirroring mode is enabled";
            }
          }
          description "Bgp bmp upd mode";
        }
    
        typedef Bgp-bmp-state {
          type enumeration {
            enum "none" {
              value 0;
              description "BMP NOT Connected";
            }
            enum "connecting" {
              value 1;
              description "BMP Under Connection";
            }
            enum "established" {
              value 2;
              description
                "BMP Connection Established";
            }
            enum "closing" {
              value 3;
              description
                "BMP Connection Closing";
            }
          }
          description "BMP Connection State";
        }
    
        typedef Bgp-bag-upd-filter-action {
          type enumeration {
            enum "none" {
              value 0;
              description "No Action";
            }
            enum "withdraw" {
              value 1;
              description "Withdraw NLRI";
            }
            enum "attribute-discard" {
              value 2;
              description "Discard Attribute";
            }
          }
          description
            "Bgp bag upd filter action";
        }
    
        typedef Bgp-bag-upd-err-action {
          type enumeration {
            enum "bgp-bag-upd-err-action-none" {
              value 0;
              description "No Action";
            }
            enum
              "bgp-bag-upd-err-action-discard-msg" {
              value 1;
              description "Discard Message";
            }
            enum "bgp-bag-upd-err-action-reset" {
              value 2;
              description "Session Reset";
            }
            enum
              "bgp-bag-upd-err-action-wdr-or-reset" {
              value 3;
              description
                "Withdraw NLRI or Reset";
            }
            enum "bgp-bag-upd-err-action-wdr" {
              value 4;
              description "Withdraw NLRI";
            }
            enum
              "bgp-bag-upd-err-action-discard-attr" {
              value 5;
              description "Discard Attribute";
            }
            enum
              "bgp-bag-upd-err-action-local-repair" {
              value 6;
              description "Local Repair";
            }
            enum "bgp-bag-upd-err-action-max" {
              value 7;
              description
                "Maximum number of actions";
            }
          }
          description "Bgp bag upd err action";
        }
    
        typedef Bgp-sync-nbr-nsr-state {
          type enumeration {
            enum "bgp-nbr-nsr-st-none" {
              value 0;
              description "None - ST 0";
            }
            enum "bgp-nbr-nsr-st-oper-down" {
              value 1;
              description
                "TCP OPER_DOWN notfn received - ST 1";
            }
            enum "bgp-nbr-nsr-st-tcp-init-sync" {
              value 2;
              description
                "TCP initial sync in progress - ST 2";
            }
            enum "bgp-nbr-nsr-st-tcp-phase-two" {
              value 3;
              description
                "TCP initial sync phase two in progress - ST 3";
            }
            enum "bgp-nbr-nsr-st-bgp-init-sync" {
              value 4;
              description
                "BGP initial sync in progress - ST 4";
            }
            enum "bgp-nbr-nsr-st-nsr-ready" {
              value 5;
              description
                "Neighbor NSR ready - ST 5";
            }
          }
          description "Bgp sync nbr nsr state";
        }
    
        typedef Bgp-track-state {
          type enumeration {
            enum "bgp-track-state-unknown" {
              value 0;
              description
                "Track state is Unknown";
            }
            enum "bgp-track-state-down" {
              value 1;
              description "Track state is Down";
            }
            enum "bgp-track-state-up" {
              value 2;
              description "Track state is Up";
            }
          }
          description "BGP Track state";
        }
    
        typedef Bgp-peer-reset-reason-index {
          type enumeration {
            enum "bgp-read-remote-closed" {
              value 1;
              description
                "Remote closed the session";
            }
            enum "bgp-read-failed" {
              value 2;
              description "Read failed";
            }
            enum "bgp-write-failed" {
              value 3;
              description "Write failed";
            }
            enum "bgp-sock-disconnected" {
              value 4;
              description "Socket disconnected";
            }
            enum "bgp-sock-select-failed" {
              value 5;
              description "Socket select failed";
            }
            enum "bgp-peer-reset-reason-none" {
              value 6;
              description "None";
            }
          }
          description
            "Bgp peer reset reason index";
        }
    
        typedef Bgp-reset-reason-index {
          type enumeration {
            enum "bgp-none" {
              value 0;
              description "None";
            }
            enum "bgp-init" {
              value 1;
              description
                "BGP neighbor initialized";
            }
            enum "bgp-no-memory" {
              value 2;
              description "No memory";
            }
            enum "not-received" {
              value 3;
              description
                "BGP Notification received";
            }
            enum "not-sent" {
              value 4;
              description
                "BGP Notification sent";
            }
            enum "conn-collision" {
              value 5;
              description
                "Error during connection collision";
            }
            enum "peer-closed" {
              value 6;
              description
                "Peer closing down the session";
            }
            enum "max-prefix-exceeded" {
              value 7;
              description
                "Peer exceeding maximum prefix limit";
            }
            enum "interface-flap" {
              value 8;
              description "Interface flap";
            }
            enum "neighbor-deleted" {
              value 9;
              description "Neighbor deleted";
            }
            enum "admin-shutdown" {
              value 10;
              description "Admin. shutdown";
            }
            enum "af-activated" {
              value 11;
              description
                "Address family activated";
            }
            enum "af-deactivated" {
              value 12;
              description
                "Address family removed";
            }
            enum "protocol-error" {
              value 13;
              description "Protocol Error";
            }
            enum "listen-closed" {
              value 14;
              description
                "Listen socket was closed";
            }
            enum "rib-failed" {
              value 15;
              description
                "Routing Table process not responding";
            }
            enum "user-clear" {
              value 16;
              description "User clear requested";
            }
            enum "user-clear-gr" {
              value 17;
              description
                "User clear with graceful restart requested";
            }
            enum "router-id-changed" {
              value 18;
              description "Router ID changed";
            }
            enum "remote-as-changed" {
              value 19;
              description
                "Remote AS configuration changed";
            }
            enum "orf-changed" {
              value 20;
              description
                "Outbound route filter configuration changed";
            }
            enum "rr-client-changed" {
              value 21;
              description
                "RR client configuration changed";
            }
            enum "legacy-pe-rt-changed" {
              value 22;
              description
                "Legacy-pe-RT configuration changed";
            }
            enum "softre-config-changed" {
              value 23;
              description
                "Soft reconfiguration configuration changed";
            }
            enum "local-as-changed" {
              value 24;
              description
                "Local AS configuration changed";
            }
            enum "low-memory" {
              value 25;
              description
                "Shutdown during SEVERE low memory condition";
            }
            enum "bfd-down" {
              value 26;
              description
                "BFD (Bidirectional forwarding detection)
               session down";
            }
            enum "allow-as-in-changed" {
              value 27;
              description
                "Allowas-in configuration has changed";
            }
            enum "recv-dmz-cfg" {
              value 28;
              description
                "Recv DMZ Config changed";
            }
            enum "cap-4byteas-changed" {
              value 29;
              description
                "Capablity 4-byte-as configuration has changed";
            }
            enum "tcp-oper-down" {
              value 30;
              description
                "Received tcp oper down";
            }
            enum "scoped-sync-retry" {
              value 31;
              description
                "Scoped sync is repeated due to strict
               prefix check failure";
            }
            enum "cluster-id-changed" {
              value 32;
              description
                "Neighbor moved to a new cluster";
            }
            enum "rr-disable-changed" {
              value 33;
              description
                "Client-to-client reflection disabled/enabled
               for cluster to which neighbor belongs";
            }
            enum "aigp-changed" {
              value 34;
              description
                "AIGP configuration has changed
               for cluster to which neighbor belongs";
            }
            enum "signalling-changed" {
              value 35;
              description
                "L2VPN Signalling Changed";
            }
            enum "open-check-s-failed" {
              value 36;
              description
                "Session open checks failed";
            }
            enum "ao-changed" {
              value 37;
              description "Accept-own changed";
            }
            enum "llgr-staletime-changed" {
              value 38;
              description
                "Long-lived graceful-restart stale-time
               configuration changed";
            }
            enum "llgr-capable-changed" {
              value 39;
              description
                "Long-lived graceful-restart capable
               configuration changed";
            }
            enum "nbr-local-addr-changed" {
              value 40;
              description
                "Neighbor local address configuration changed";
            }
            enum "internal-vpn-client-changed" {
              value 41;
              description
                "Internal-vpn-client configuration changed";
            }
            enum "cap-suppress-all-changed" {
              value 42;
              description
                "All capabilities suppression changed";
            }
            enum "next-hop-changed" {
              value 43;
              description
                "Next hop configuration changed";
            }
            enum "cap-suppress-enhe-changed" {
              value 44;
              description
                "Extended-nexthop-encoding capability
               suppression changed";
            }
          }
          description "Bgp reset reason index";
        }
    
        typedef Bgp-bfd-enable-mode {
          type enumeration {
            enum "bgp-bfd-enable-mode-disable" {
              value 0;
              description
                "BFD fast detect disabled ";
            }
            enum "bgp-bfd-enable-mode-def" {
              value 1;
              description
                "BFD fast detect default mode ";
            }
            enum "bgp-bfd-enable-mode-strict" {
              value 2;
              description
                "BFD fast detect hold down aka strict mode";
            }
          }
          description "BFD enable mode";
        }
    
        typedef Bgp-bfd-state {
          type enumeration {
            enum "bgp-bfd-state-not-configured" {
              value 0;
              description "BFD not configured";
            }
            enum "bgp-bfd-state-admin-down" {
              value 1;
              description
                "BFD session disabled (neighbor shutdown)";
            }
            enum "bgp-bfd-state-not-supported" {
              value 2;
              description
                "BFD session disabled (interface type not
               supported)";
            }
            enum "bgp-bfd-state-not-created" {
              value 3;
              description
                "BFD session configured, not yet created";
            }
            enum "bgp-bfd-state-created" {
              value 4;
              description
                "BFD session created, state notification not
               received";
            }
            enum "bgp-bfd-state-up" {
              value 5;
              description "BFD session up";
            }
            enum "bgp-bfd-state-down" {
              value 6;
              description "BFD session down";
            }
            enum
              "bgp-bfd-state-nbr-not-configured" {
              value 7;
              description
                "BFD session down (peer not configured)";
            }
            enum "bgp-bfd-state-none" {
              value 8;
              description
                "BFD session (yet ro rcv Notification)";
            }
          }
          description "BFD session state";
        }
    
        typedef Bgp-open-check-err {
          type enumeration {
            enum "none" {
              value 0;
              description "No error";
            }
            enum "neighbor-down" {
              value 1;
              description "Neighbor down";
            }
            enum "no-update-group-set" {
              value 2;
              description "No update-group set";
            }
            enum "no-af-config" {
              value 3;
              description "No AF configured";
            }
            enum "update-group-pending" {
              value 4;
              description "Update-group pending";
            }
            enum "low-memory" {
              value 5;
              description "Low memory";
            }
            enum "neighbor-shutdown" {
              value 6;
              description "Neighbor shutdown";
            }
            enum "ebgp-neighbor-remote" {
              value 7;
              description
                "eBGP neighbor is remote";
            }
            enum "update-source-interface-null" {
              value 8;
              description
                "Update source invalid";
            }
            enum "no-ipv6-address" {
              value 9;
              description
                "No global IPv6 address found";
            }
            enum "first-hop-interface-null" {
              value 10;
              description
                "First-hop interface invalid";
            }
            enum "no-ipv6ll-address" {
              value 11;
              description
                "No LL IPv6 address found";
            }
            enum "no-update-source-config" {
              value 12;
              description
                "No update-source configured";
            }
            enum "no-router-id" {
              value 13;
              description "No router-identifier";
            }
            enum
              "update-source-interface-get-failed" {
              value 14;
              description
                "Update-source interface get failed";
            }
            enum
              "update-source-interface-state-get-failed" {
              value 15;
              description
                "Update-source interface state get failed";
            }
            enum "update-source-interface-down" {
              value 16;
              description
                "Update-source interface down";
            }
            enum
              "update-source-interface-ll-get-failed" {
              value 17;
              description
                "Update-source interface LL get failed";
            }
            enum
              "update-source-interface-address-get-failed" {
              value 18;
              description
                "Update-source interface address get failed";
            }
            enum "source-address-af-invalid" {
              value 19;
              description
                "Source-address AF invalid";
            }
            enum "no-update-source-ll-peering" {
              value 20;
              description
                "No update-source for LL peering";
            }
            enum "local-address-get-failed" {
              value 21;
              description
                "Local-address get failed";
            }
            enum "no-best-local-address" {
              value 22;
              description
                "No best local-address";
            }
            enum
              "neighbor-address-equals-local-address" {
              value 23;
              description
                "Neighbor address is local address";
            }
            enum "neighbor-closing" {
              value 24;
              description
                "Neighbor in closing state";
            }
            enum "neighbor-pending-reset" {
              value 25;
              description
                "Neighbor in pending reset state";
            }
            enum "out-interface-set-failed" {
              value 26;
              description
                "Out-interface set failed";
            }
            enum "local-address-mismatch" {
              value 27;
              description
                "Local-address mismatch";
            }
            enum "neighbor-active-only" {
              value 28;
              description
                "Neighbor in active only mode";
            }
            enum "socket-init-failed" {
              value 29;
              description "Socket init failed";
            }
            enum "socket-operation-failed" {
              value 30;
              description
                "Socket operation failed";
            }
            enum "local-neighbor" {
              value 31;
              description "Neighbor is local";
            }
            enum "multi-hop-neighbor" {
              value 32;
              description
                "No router to multi-hop neighbor";
            }
          }
          description
            "BGP open check error types";
        }
    
        typedef Bgp-conn-state {
          type enumeration {
            enum "bgp-st-dont-care" {
              value 0;
              description "DontCare";
            }
            enum "bgp-st-idle" {
              value 1;
              description "Idle";
            }
            enum "bgp-st-connect" {
              value 2;
              description "Connect";
            }
            enum "bgp-st-active" {
              value 3;
              description "Active";
            }
            enum "bgp-st-open-sent" {
              value 4;
              description "OpenSent";
            }
            enum "bgp-st-open-confirm" {
              value 5;
              description "OpenConfirm";
            }
            enum "bgp-st-estab" {
              value 6;
              description "Established";
            }
            enum "bgp-st-closing" {
              value 7;
              description "Closing";
            }
            enum "bgp-st-closing-sync" {
              value 8;
              description "ClosingSync";
            }
          }
          description "Bgp conn state";
        }
    
        typedef Bgp-nh-validate {
          type enumeration {
            enum "bgp-nh-validate-sync" {
              value 0;
              description "bgp nh validate sync";
            }
            enum "bgp-nh-validate-async" {
              value 1;
              description
                "bgp nh validate async";
            }
            enum "bgp-nh-validate-none" {
              value 2;
              description "bgp nh validate none";
            }
          }
          description "Bgp nh validate";
        }
    
        typedef Bgp-nh-update {
          type enumeration {
            enum "bgp-nh-update-none" {
              value 0;
              description "No nh update yet";
            }
            enum "bgp-nh-update-crit-not-f" {
              value 1;
              description
                "Last nh update is crit notf";
            }
            enum "bgp-nh-update-crit-sync" {
              value 2;
              description
                "Last nh update is crit sync update";
            }
            enum "bgp-nh-update-crit-rib-conv" {
              value 3;
              description
                "Last nh update is crit update caused by rib
               converge";
            }
            enum "bgp-nh-update-crit-table-down" {
              value 4;
              description
                "Last nh update is crit update caused by table
               down";
            }
            enum "bgp-nh-update-non-crit-not-f" {
              value 5;
              description
                "Last nh update is non-crit notf";
            }
            enum "bgp-nh-update-non-crit-sync" {
              value 6;
              description
                "Last nh update is non-crit sync update";
            }
            enum
              "bgp-nh-update-non-crit-rib-conv" {
              value 7;
              description
                "Last nh update is non-crit update caused by rib
               converge";
            }
            enum
              "bgp-nh-update-non-crit-table-down" {
              value 8;
              description
                "Last nh update is non-crit update caused by
               table down";
            }
          }
          description "Bgp nh update";
        }
    
        typedef Bgp-nh-event {
          type enumeration {
            enum "bgp-nh-event-crit-not-f" {
              value 0;
              description
                "Last event received is a crit notf";
            }
            enum "bgp-nh-event-non-crit-not-f" {
              value 1;
              description
                "Last event received is a non-crit notf";
            }
            enum "bgp-nh-event-registration" {
              value 2;
              description
                "Last event sent is a registration";
            }
          }
          description "Bgp nh event";
        }
    
        typedef Bgp-rtr-state {
          type enumeration {
            enum "bgp-router-read-only" {
              value 0;
              description "Read only mode";
            }
            enum "bgp-router-do-best-path" {
              value 1;
              description
                "Bestpath calculation mode";
            }
            enum "bgp-router-do-tunnel-update" {
              value 2;
              description "Tunnel update mode";
            }
            enum "bgp-router-do-import" {
              value 3;
              description "Import mode";
            }
            enum "bgp-router-do-label-alloc" {
              value 4;
              description
                "Label Allocation mode";
            }
            enum "bgp-router-do-ribupd" {
              value 5;
              description "RIB update mode";
            }
            enum "bgp-router-read-write" {
              value 6;
              description
                "Normal (read/write) mode";
            }
            enum "bgp-router-mode-count" {
              value 7;
              description
                "Number of router modes";
            }
          }
          description "Bgp rtr state";
        }
    
        typedef Bgp-rnh-addr-len {
          type enumeration {
            enum "none" {
              value 0;
              description "NO address length";
            }
            enum "v4" {
              value 4;
              description "IP v4 address length";
            }
            enum "mac" {
              value 6;
              description "MAC address length";
            }
            enum "v6" {
              value 16;
              description "IP v6 address length";
            }
          }
          description "BGP RNH Address Length";
        }
    
        typedef Sr-sid {
          type enumeration {
            enum "label" {
              value 1;
              description "MPLS Label sid";
            }
            enum "ipv4" {
              value 2;
              description "IPv4 address";
            }
            enum "ipv6" {
              value 3;
              description "IPv6 address";
            }
          }
          description "Segment id type";
        }
    
        typedef Bgp-srpolicy-req-state {
          type enumeration {
            enum "request-pending" {
              value 0;
              description
                "SR policy install in dataplane not requested
               yet";
            }
            enum "requested" {
              value 1;
              description
                "Requested SR policy install  dataplane";
            }
            enum "notified-up" {
              value 2;
              description "SR policy is UP";
            }
            enum "notified-down" {
              value 4;
              description
                "SR policy is notified down by XTC";
            }
            enum "marked-stale" {
              value 8;
              description
                "SR policy is marked stale due to XTC agent down";
            }
            enum "marked-disable" {
              value 16;
              description
                "SR policy is marked disabled from the config in
               XTC";
            }
          }
          description
            "BGP SR Policy Internal State";
        }
    
        typedef Bgp-binding-sid {
          type enumeration {
            enum "none" {
              value 0;
              description "None";
            }
            enum "label" {
              value 1;
              description
                "Binding SID type MPLS label";
            }
            enum "v6" {
              value 2;
              description
                "Binding SID type ipv6";
            }
          }
          description "BGP Binding SID type";
        }
    
        typedef Bgp-bp-stage {
          type enumeration {
            enum "bgp-bp-comp-not-compared" {
              value 0;
              description
                "Best path comparison not performed";
            }
            enum "bgp-bp-comp-imulti-path" {
              value 1;
              description
                "Path is an iBGP multipath";
            }
            enum "bgp-bp-comp-emulti-path" {
              value 2;
              description
                "Path is an eBGP multipath";
            }
            enum "bgp-bp-comp-eimulti-path" {
              value 3;
              description
                "Path is an eiBGP multipath";
            }
            enum "bgp-bp-invalid-path" {
              value 4;
              description "Invalid path";
            }
            enum "bgp-bp-comp-pre-cost-comm" {
              value 5;
              description "TODO";
            }
            enum "bgp-bp-comp-weight" {
              value 6;
              description
                "Path has a lower weight";
            }
            enum "bgp-bp-comp-af-specific" {
              value 7;
              description
                "Less Favourable Address Family specific
               attributes";
            }
            enum "bgp-bp-comp-locpref" {
              value 8;
              description
                "Path has a lower local preference";
            }
            enum "bgp-bp-comp-rpki" {
              value 9;
              description
                "Path has worse origin validation state";
            }
            enum "bgp-bp-comp-aigp" {
              value 10;
              description "TODO";
            }
            enum "bgp-bp-comp-local" {
              value 11;
              description "Path is not local";
            }
            enum "bgp-bp-comp-local-rib" {
              value 12;
              description "TODO";
            }
            enum "bgp-bp-comp-as-path-len" {
              value 13;
              description
                "Path has a longer AS path";
            }
            enum "bgp-bp-comp-origin" {
              value 14;
              description
                "Path has a less favorable origin";
            }
            enum "bgp-bp-comp-med" {
              value 15;
              description "Path has a lower MED";
            }
            enum "bgp-bp-comp-ebgp" {
              value 16;
              description
                "Path lost to an eBGP path";
            }
            enum "bgp-bp-comp-ao" {
              value 17;
              description
                "Path has Accept-Own community";
            }
            enum "bgp-bp-comp-xtc-nh-ad" {
              value 18;
              description
                "Path has a higher SR-TE nexthop admin distance";
            }
            enum "bgp-bp-comp-igp-metric" {
              value 19;
              description
                "Path has a higher IGP metric";
            }
            enum "bgp-bp-comp-igp-cost-comm" {
              value 20;
              description "TODO";
            }
            enum "bgp-bp-comp-rtr-id" {
              value 21;
              description
                "Path has a higher router ID";
            }
            enum "bgp-bp-comp-clstr-len" {
              value 22;
              description
                "Path has a longer cluster length";
            }
            enum "bgp-bp-comp-nbr-addr" {
              value 23;
              description
                "Path has a higher neighbor address";
            }
            enum "bgp-bp-comp-suppressed" {
              value 24;
              description
                "Path is newer than best path";
            }
            enum "bgp-bp-comp-mismatch" {
              value 25;
              description
                "Best path comparison failed, perhaps due to
               recent configuration changes";
            }
            enum "bgp-bp-comp-persistence" {
              value 26;
              description "Path is persistent";
            }
            enum "bgp-bp-comp-gshut" {
              value 27;
              description
                "Path received from a neighbor in graceful
               maintenance";
            }
            enum "bgp-bp-comp-la-test" {
              value 28;
              description "Path is older";
            }
            enum "bgp-bp-comp-srte-tunnel-down" {
              value 29;
              description
                "Non SR-policy path is ignored due to config
               knob";
            }
          }
          description "Bgp bp stage";
        }
    
        typedef Bgp-v4-v6-len {
          type enumeration {
            enum "gwnone" {
              value 0;
              description "NO address length";
            }
            enum "gwipv4" {
              value 4;
              description "IP v4 address length";
            }
            enum "gwipv6" {
              value 16;
              description "IP v6 address length";
            }
          }
          description "BGP GW Address Length";
        }
    
        typedef Bgp-tunnel {
          type enumeration {
            enum "tunnel-none" {
              value 0;
              description
                "Tunnel not applicable";
            }
            enum "attrset" {
              value 1;
              description
                "Attribute set TE tunnel";
            }
            enum "sr-policy" {
              value 2;
              description "SR Policy";
            }
            enum "odn-policy" {
              value 4;
              description "ODN  color";
            }
          }
          description "BGP tunnel type";
        }
    
        typedef Bgp-route1 {
          type enumeration {
            enum "bgp-route-type-used" {
              value 0;
              description
                "Used path from neighbor";
            }
            enum "bgp-route-type-rcvd-only" {
              value 1;
              description
                "Received only path from neighbor";
            }
            enum
              "bgp-route-type-safi-label-ed-ucast-used" {
              value 2;
              description
                "Used path from neighbor received via
               labeled-unicast SAFI";
            }
            enum
              "bgp-route-type-safi-label-ed-ucast-rcvd-only" {
              value 3;
              description
                "Received only path from neighbor received via
               labeled-unicast SAFI";
            }
            enum "bgp-route-type-rib" {
              value 4;
              description
                "Redistributed from the RIB";
            }
            enum "bgp-route-type-aggregate" {
              value 5;
              description
                "Locally generated aggregate";
            }
            enum "bgp-route-type-max" {
              value 6;
              description
                "Number of route types";
            }
          }
          description "Bgp route1";
        }
    
        typedef Mac-address {
          type yang:mac-address;
          description "MAC Address type";
        }
    
        typedef Bgp-rpki-af {
          type enumeration {
            enum "ipv4" {
              value 2;
              description "IPv4";
            }
            enum "ipv6" {
              value 26;
              description "IPv6";
            }
          }
          description "Bgp rpki af";
        }
    
        typedef Bgp-slow-peer-updgrp-split {
          type enumeration {
            enum "bgp-dynamic-split-enable" {
              value 0;
              description
                "bgp dynamic split enable";
            }
            enum "bgp-dynamic-split-disable" {
              value 1;
              description
                "bgp dynamic split disable";
            }
            enum "bgp-dynamic-split-permanent" {
              value 2;
              description
                "bgp dynamic split permanent";
            }
            enum "bgp-dynamic-split-max" {
              value 3;
              description
                "bgp dynamic split max";
            }
          }
          description
            "Bgp slow peer updgrp split";
        }
    
        typedef Bgp-tcp-mode {
          type enumeration {
            enum "bgp-tcp-mode-type-either" {
              value 0;
              description
                "Use either active or passive mode";
            }
            enum "bgp-tcp-mode-type-active-only" {
              value 1;
              description "Use active mode only";
            }
            enum
              "bgp-tcp-mode-type-passive-only" {
              value 2;
              description
                "Use passive mode only";
            }
          }
          description "Bgp tcp mode";
        }
    
        typedef Bgp-ebgp-send-dmz-enable-mode {
          type enumeration {
            enum "bgp-ebgp-send-dmz-disable" {
              value 0;
              description
                "EBGP send extended community dmz link bandwidth
               disabled ";
            }
            enum "bgp-ebgp-send-dmz-dflt" {
              value 1;
              description
                "EBGP send extended community dmz link bandwidth
               default mode ";
            }
            enum "bgp-ebgp-send-dmz-cumulative" {
              value 2;
              description
                "EBGP send extended community dmz link bandwidth
               cumulative mode";
            }
          }
          description
            "EBGP send extended community dmz link bandwidth
           enable mode";
        }
    
        typedef Bgp-entities {
          type enumeration {
            enum "af-group" {
              value 0;
              description "AF groups";
            }
            enum "session-group" {
              value 1;
              description "Session Groups";
            }
            enum "neighbor-group" {
              value 2;
              description "Neighbor Groups";
            }
            enum "neighbor" {
              value 3;
              description "Neighbors";
            }
          }
          description "Entity type";
        }
    
        typedef Ipv6-flowspec-address {
          type xr:Bgp-ipv6-flowspec-address;
          description
            "IPv6 Flowspec Address type";
        }
    
        typedef Ipv4-flowspec-address {
          type xr:Bgp-ipv4-flowspec-address;
          description
            "IPv4 Flowspec Address type";
        }
    
        typedef Ls-ls-address {
          type xr:Bgp-ls-addr;
          description
            "LINKSTATE LINKSTATE Address type";
        }
    
        typedef Ipv4mvpn-address {
          type xr:Bgp-ipv4-mvpn-addr;
          description "IPV4 MVPN Address type";
        }
    
        typedef Ipv6mvpn-address {
          type xr:Bgp-ipv6-mvpn-addr;
          description "IPV6 MVPN Address type";
        }
    
        typedef Rt-constraint-address {
          type xr:Bgp-rt-constrt-addr;
          description
            "IPV4 RTConstraint Address type";
        }
    
        typedef Ipv6-address {
          type inet:ipv6-address;
          description "IPV6 Address type";
        }
    
        typedef Ipv4-mdt-address {
          type xr:Bgp-ipv4-mdt-addr;
          description "IPV4MDT Address type";
        }
    
        typedef Ipv4-tunnel-address {
          type xr:Bgp-ipv4-tunnel-addr;
          description "IPV4Tunnel Address type";
        }
    
        typedef Bgp-afi {
          type enumeration {
            enum "ipv4" {
              value 0;
              description "IP v4 unicast";
            }
            enum "ipv4-multicast" {
              value 1;
              description "IP v4 multicast";
            }
            enum "ipv4-labeled" {
              value 2;
              description "IP v4 label";
            }
            enum "ipv4-tunnel" {
              value 3;
              description "IP v4 Tunnel";
            }
            enum "vpnv4" {
              value 4;
              description
                "IP v4 virtual private network";
            }
            enum "ipv6" {
              value 5;
              description "IP v6 unicast";
            }
            enum "ipv6-multicast" {
              value 6;
              description "IP v6 multicast";
            }
            enum "ipv6-labeled" {
              value 7;
              description "IP v6 label";
            }
            enum "vpnv6" {
              value 8;
              description
                "IP v6 virtual private network";
            }
            enum "ipv4-mdt" {
              value 9;
              description
                "IP v4 Multicast  Distribution Tree";
            }
            enum "l2vpn-vpls" {
              value 10;
              description "L2VPN VPLS";
            }
            enum "rt-constraint" {
              value 11;
              description "IP RT-Constraint";
            }
            enum "ipv4-mvpn" {
              value 12;
              description "IP v4 mvpn";
            }
            enum "ipv6-mvpn" {
              value 13;
              description "IP v6 mvpn";
            }
            enum "l2vpn-evpn" {
              value 14;
              description "L2VPN EVPN";
            }
            enum "ls-ls" {
              value 15;
              description
                "Link-state Link-state";
            }
            enum "vpnv4-multicast" {
              value 16;
              description
                "IP v4 virtual private network for multicast";
            }
            enum "vpnv6-multicast" {
              value 17;
              description
                "IP v6 virtual private network for multicast";
            }
            enum "ipv4-flowspec" {
              value 18;
              description "IP v4 flowspec";
            }
            enum "ipv6-flowspec" {
              value 19;
              description "IP v6 flowspec";
            }
            enum "vpnv4-flowspec" {
              value 20;
              description "IP v4 vpn flowspec";
            }
            enum "vpnv6-flowspec" {
              value 21;
              description "IP v6 vpn flowspec";
            }
            enum "l2vpn-mspw" {
              value 22;
              description
                "L2VPN Multi-segment pseudowire";
            }
            enum "ipv4-sr-policy" {
              value 23;
              description "IP v4 SR Policy";
            }
            enum "ipv6-sr-policy" {
              value 24;
              description "IP v6 SR Policy";
            }
            enum "no-address-family" {
              value 25;
              description
                "Address-family not applicable";
            }
            enum "all-address-families" {
              value 26;
              description "All address-families";
            }
          }
          description "BGP Address family";
        }
    
        grouping BPM-ORR-GROUP-BAG {
          description
            "BPM ORR Group Information";
          container orr-root-address {
            description "ORR Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-root-address
    
          container orr-sec-root-address {
            description "ORR Sec Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-sec-root-address
    
          container orr-ter-root-address {
            description "ORR ter Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-ter-root-address
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf is-orr-group-ipv4 {
            type boolean;
            description "Is IPv4 ORR Group";
          }
    
          leaf is-orr-global-defined {
            type boolean;
            description
              "Is ORR group configured globally";
          }
    
          leaf orrafi-ref-count {
            type uint32;
            description "Number of used afis";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "Used by Total number of neighbors";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configured";
          }
    
          leaf is-orr-sec-root-address-configured {
            type boolean;
            description
              "ORR Sec Root address configured";
          }
    
          leaf is-orr-ter-root-address-configured {
            type boolean;
            description
              "ORR Ter Root address configured";
          }
    
          list neighbor-af-count {
            max-elements 25;
            description
              "Used by Total number of neighbors per afi";
            leaf entry {
              type uint32;
              description
                "Used by Total number of neighbors per afi";
            }
          }  // list neighbor-af-count
    
          list used-af {
            min-elements 25;
            max-elements 25;
            description
              "Is ORR group used by af";
            leaf entry {
              type boolean;
              description "Array entry.";
            }
          }  // list used-af
        }  // grouping BPM-ORR-GROUP-BAG
    
        grouping BGP-INSTANCE-INFO {
          description "BGP instance information";
          leaf instance-identifier {
            type uint16;
            description
              "The identifier of the BGP instance";
          }
    
          leaf placed-group-id {
            type uint16;
            description
              "Placed Group Identifier";
          }
    
          leaf instance-name-str {
            type string;
            description "BGP Instance Name";
          }
    
          leaf as-number {
            type uint32;
            description "AS Number";
          }
    
          leaf number-of-vrfs {
            type uint32;
            description "Number of VRFs";
          }
    
          leaf read-only-enabled {
            type boolean;
            description
              "Flag to indicate if BGP Read-Only mode is
             enabled";
          }
    
          leaf install-diversion-enabled {
            type boolean;
            description
              "Flag to indicate if BGP Install diversion is
             enabled";
          }
    
          leaf srgb-start-configured {
            type uint32;
            description
              "Configured start value of Segment-routing global
             block";
          }
    
          leaf srgb-end-configured {
            type uint32;
            description
              "Configured end value of Segment-routing global
             block";
          }
    
          list af-array {
            min-elements 25;
            max-elements 25;
            description
              "Array of Address Families";
            leaf entry {
              type boolean;
              description "Array entry.";
            }
          }  // list af-array
        }  // grouping BGP-INSTANCE-INFO
    
        grouping BGP-INSTANCES-INFO-BAG {
          description
            "BGP instances information bag";
          list instance {
            description
              "Array of instance information";
            uses BGP-INSTANCE-INFO;
          }  // list instance
        }  // grouping BGP-INSTANCES-INFO-BAG
    
        grouping BGP-EDM-LABEL-RPF-NBR {
          description "BGP EDM LABEL RPF NBR";
          leaf ip {
            type inet:ipv4-address;
            description
              "The ip address of the BGP edm rpf nbr";
          }
    
          leaf ip6 {
            type inet:ipv6-address;
            description
              "The ipv6 address of the BGP edm rpf nbr";
          }
    
          leaf count {
            type uint32;
            description
              "The number of prefixes for rpf";
          }
    
          leaf flags {
            type uint32;
            description
              "RPF neighbor node flags";
          }
        }  // grouping BGP-EDM-LABEL-RPF-NBR
    
        grouping BGP-EDM-LABEL-RPF-INFO {
          description "BGP EDM LABEL RPF INFO";
          leaf label {
            type uint32;
            description
              "The label of the BGP rpf";
          }
    
          leaf flags {
            type uint32;
            description
              "The flags of the BGP rpf";
          }
    
          leaf install {
            type Bgp-label-rpf-install;
            description
              "The BGP label rpf install";
          }
    
          list rpf {
            description "rpf";
            uses BGP-EDM-LABEL-RPF-NBR;
          }  // list rpf
        }  // grouping BGP-EDM-LABEL-RPF-INFO
    
        grouping BGP-LABEL-RPF-BAG {
          description "BGP LABEL RPF BAG";
          container rpf {
            description
              "The reverse path forwarding (RPF) of BGP label";
            uses BGP-EDM-LABEL-RPF-INFO;
          }  // container rpf
        }  // grouping BGP-LABEL-RPF-BAG
    
        grouping BGP-EDM-OT-PROV-NBR-AF-DB-ENTRY {
          description
            "BGP EDM OT PROV NBR AF DB ENTRY";
          container neighbor-address {
            description "BGP neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          container track-created-ts {
            description "track created ts";
            uses BGP-TIMESPEC;
          }  // container track-created-ts
    
          container track-created-age {
            description "track created age";
            uses BGP-TIMESPEC;
          }  // container track-created-age
    
          container nbr-af-event-ts {
            description "nbr af event ts";
            uses BGP-TIMESPEC;
          }  // container nbr-af-event-ts
    
          container nbr-af-event-age {
            description "nbr af event age";
            uses BGP-TIMESPEC;
          }  // container nbr-af-event-age
    
          container status-change-ts {
            description "status change ts";
            uses BGP-TIMESPEC;
          }  // container status-change-ts
    
          container status-change-age {
            description "status change age";
            uses BGP-TIMESPEC;
          }  // container status-change-age
    
          container status-notify-ts {
            description "status notify ts";
            uses BGP-TIMESPEC;
          }  // container status-notify-ts
    
          container status-notify-age {
            description "status notify age";
            uses BGP-TIMESPEC;
          }  // container status-notify-age
    
          leaf vrf-name {
            type string;
            description "vrf name";
          }
    
          leaf afi {
            type uint8;
            description "afi";
          }
    
          leaf state {
            type Bgp-track-state;
            description "BGP Track Entry State";
          }
    
          leaf flags {
            type uint8;
            description "flags";
          }
    
          leaf notify-state {
            type Bgp-track-state;
            description
              "BGP Track Entry Previous State";
          }
    
          leaf prev-state {
            type Bgp-track-state;
            description
              "BGP Track Entry Previous State";
          }
        }  // grouping BGP-EDM-OT-PROV-NBR-AF-DB-ENTRY
    
        grouping BGP-OT-PROV-NBR-AF-DB-BAG {
          description
            "BGP OT PROV NBR AF DB BAG";
          container entry {
            description "entry";
            uses BGP-EDM-OT-PROV-NBR-AF-DB-ENTRY;
          }  // container entry
        }  // grouping BGP-OT-PROV-NBR-AF-DB-BAG
    
        grouping BGP-VRF-RT-HASH-SLICE-BAG {
          description
            "BGP VRF RT HASH SLICE BAG";
          leaf route-target-hash-value {
            type uint32;
            description
              "Hash value calculated from Route Target value
             used to save in BGP's internal hash table";
          }
    
          list rt {
            description "rt";
            uses BGP-EDM-RT-ENTRY;
          }  // list rt
        }  // grouping BGP-VRF-RT-HASH-SLICE-BAG
    
        grouping BGP-RPKI-SUMMARY-BAG {
          description "BGP RPKI SUMMARY BAG";
          leaf servers {
            type uint32;
            description
              "Number of RPKI Servers configured";
          }
    
          leaf ipv4roa-nets {
            type uint32;
            description
              "Number of IPv4 ROA Nets";
          }
    
          leaf ipv4roa-paths {
            type uint32;
            description
              "Number of IPv4 ROA Paths";
          }
    
          leaf ipv6roa-nets {
            type uint32;
            description
              "Number of IPv6 ROA Nets";
          }
    
          leaf ipv6roa-paths {
            type uint32;
            description
              "Number of IPv6 ROA Paths";
          }
    
          leaf ipv4-table-version {
            type uint32;
            description
              "RPKI IPv4 Table Version";
          }
    
          leaf ipv4-table-scanner-version {
            type uint32;
            description
              "RPKI IPv4 Scanner Version";
          }
    
          leaf ipv6-table-version {
            type uint32;
            description
              "RPKI IPv6 Table Version";
          }
    
          leaf ipv6-table-scanner-version {
            type uint32;
            description
              "RPKI IPv6 Scanner Version";
          }
        }  // grouping BGP-RPKI-SUMMARY-BAG
    
        grouping BGP-UPDERR-PROC-BAG {
          description
            "BGP Update error-handling Process information";
          container last-update-malformed-timestamp {
            description
              "Last malformed messages received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-malformed-timestamp
    
          leaf update-error-handling-basic-ebgp {
            type boolean;
            description
              "Is basic error-handling for EBGP enabled";
          }
    
          leaf update-error-handling-basic-ibgp {
            type boolean;
            description
              "Is basic error-handling for IBGP enabled";
          }
    
          leaf update-error-handling-extended-ebgp {
            type boolean;
            description
              "Is extended error-handling for EBGP enabled";
          }
    
          leaf update-error-handling-extended-ibgp {
            type boolean;
            description
              "Is extended error-handling for IBGP enabled";
          }
    
          leaf update-malformed-message-count {
            type uint32;
            description
              "BGP malformed messages received count update";
          }
    
          leaf update-malformed-neighbor-count {
            type uint32;
            description
              "Count of neighbors that received malformed
             messages";
          }
    
          leaf last-update-malformed-age {
            type uint32;
            units "second";
            description
              "Time since last malformed messages received
             event (in seconds)";
          }
        }  // grouping BGP-UPDERR-PROC-BAG
    
        grouping BGP-EDM-RPKI-ROUTE {
          description "BGP EDM RPKI ROUTE";
          leaf af-name {
            type Bgp-rpki-af;
            description "Address Family";
          }
    
          leaf address {
            type string;
            description "Address Prefix";
          }
    
          leaf min-prefix-len {
            type uint8;
            description "Minimum Prefix Length";
          }
    
          leaf max-prefix-len {
            type uint8;
            description "Maximum Prefix Length";
          }
    
          leaf as {
            type uint32;
            description "AS number";
          }
    
          leaf server {
            type string;
            description "Source Server";
          }
    
          leaf stale {
            type boolean;
            description "ROA is stale";
          }
    
          leaf version {
            type uint32;
            description "ROA version";
          }
        }  // grouping BGP-EDM-RPKI-ROUTE
    
        grouping BGP-RPKI-ROUTES-BAG {
          description "BGP RPKI ROUTES BAG";
          list rpki-route {
            description "Array or RPKI routes";
            uses BGP-EDM-RPKI-ROUTE;
          }  // list rpki-route
        }  // grouping BGP-RPKI-ROUTES-BAG
    
        grouping BGP-EDM-GSHUT-IF-ENTRY {
          description "BGP EDM GSHUT IF ENTRY";
          container gshut-if-time-stamp {
            description "BGP gshut timestamp";
            uses BGP-TIMESPEC;
          }  // container gshut-if-time-stamp
    
          container gshut-if-age {
            description "BGP gshut if age";
            uses BGP-TIMESPEC;
          }  // container gshut-if-age
    
          leaf name {
            type string;
            description "Name";
          }
        }  // grouping BGP-EDM-GSHUT-IF-ENTRY
    
        grouping BGP-GSHUT-IF-BAG {
          description
            "gshut interface information";
          container if-entry {
            description
              "The entry of gshut interface";
            uses BGP-EDM-GSHUT-IF-ENTRY;
          }  // container if-entry
        }  // grouping BGP-GSHUT-IF-BAG
    
        grouping BGP-EDM-GSHUT-LOC-ENTRY {
          description "BGP EDM GSHUT LOC ENTRY";
          container gshut-loc-time-stap {
            description
              "BGP gshut locationb timestamp";
            uses BGP-TIMESPEC;
          }  // container gshut-loc-time-stap
    
          container gshut-loc-age {
            description "BGP gshut location age";
            uses BGP-TIMESPEC;
          }  // container gshut-loc-age
    
          leaf loc {
            type uint32;
            description
              "BGP gshut location nodeif";
          }
        }  // grouping BGP-EDM-GSHUT-LOC-ENTRY
    
        grouping BGP-GSHUT-LOC-BAG {
          description
            "gshut location information";
          container loc-entry {
            description
              "The entry of gshut location";
            uses BGP-EDM-GSHUT-LOC-ENTRY;
          }  // container loc-entry
        }  // grouping BGP-GSHUT-LOC-BAG
    
        grouping BGP-EDM-GSHUT-NBR-ALL-ENTRY {
          description
            "BGP EDM GSHUT NBR ALL ENTRY";
          container gshut-nbr-all-ts {
            description
              "BGP gshut nbr-all timestamp";
            uses BGP-TIMESPEC;
          }  // container gshut-nbr-all-ts
    
          container gshut-nbr-all-age {
            description "BGP gshut nbr-all age";
            uses BGP-TIMESPEC;
          }  // container gshut-nbr-all-age
    
          leaf nbr-all {
            type uint32;
            description
              "BGP gshut nbr-all entry";
          }
        }  // grouping BGP-EDM-GSHUT-NBR-ALL-ENTRY
    
        grouping BGP-GSHUT-NBR-ALL-BAG {
          description
            "gshut nbr all information";
          container nbr-all-entry {
            description
              "The entry of gshut nbr all";
            uses BGP-EDM-GSHUT-NBR-ALL-ENTRY;
          }  // container nbr-all-entry
        }  // grouping BGP-GSHUT-NBR-ALL-BAG
    
        grouping BGP-EDM-LABEL-STATS {
          description "BGP EDM LABEL STATS";
          leaf nbgp-label-alloc-type-gbl-ipv4 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE GBL IPv4";
          }
    
          leaf nbgp-label-alloc-type-gbl-ipv6 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE GBL IPv6";
          }
    
          leaf nbgp-label-alloc-type-vrf-ipv4 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE VRF IPv4";
          }
    
          leaf nbgp-label-alloc-type-vrf-ipv6 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE VRF IPv6";
          }
    
          leaf nbgp-label-alloc-type-ce-ipv4 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE CE IPv4";
          }
    
          leaf nbgp-label-alloc-type-ce-ipv6 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE CE IPv6";
          }
    
          leaf nbgp-label-alloc-type-tbl-ipv4 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE TBL IPv4";
          }
    
          leaf nbgp-label-alloc-type-tbl-ipv6 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE TBL IPv6";
          }
    
          leaf nbgp-label-alloc-type-vpn-ipv4 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE VPN IPv4";
          }
    
          leaf nbgp-label-alloc-type-vpn-ipv6 {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE VPN IPv6";
          }
    
          leaf nbgp-label-alloc-type-asbr-nh {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE ASBR NH";
          }
    
          leaf nbgp-label-alloc-type-l2vpn-evpn {
            type uint32;
            description
              "nBGP LABEL ALLOC TYPE L2VPN EVPN";
          }
    
          leaf nbgp-labels {
            type uint32;
            description "nBGP LABELS";
          }
    
          leaf bgp-label-rpf-lists {
            type uint32;
            description
              "The rpf lists associated withthe label";
          }
    
          leaf bgp-label-rpf-nodes {
            type uint32;
            description
              "The rpf nodes associated withthe label";
          }
        }  // grouping BGP-EDM-LABEL-STATS
    
        grouping BGP-LABEL-SUMMARY-BAG {
          description "BGP LABEL SUMMARY BAG";
          container stats {
            description
              "The statistics of the BGP label summary";
            uses BGP-EDM-LABEL-STATS;
          }  // container stats
        }  // grouping BGP-LABEL-SUMMARY-BAG
    
        grouping BGP-EDM-RPKI-CACHE {
          description "BGP EDM RPKI CACHE";
          leaf name {
            type string;
            description "Server Name";
          }
    
          leaf preference {
            type uint32;
            description "Server Preference";
          }
    
          leaf port {
            type uint32;
            description "Server TCP Port number";
          }
    
          leaf state {
            type Bgp-rpki-state;
            description "Server Internal State";
          }
    
          leaf state-time {
            type uint32;
            description
              "Server Internal State timestamp (unix time)";
          }
    
          leaf shutdown {
            type boolean;
            description "Server Shutdown";
          }
    
          leaf retries {
            type uint32;
            description
              "Number of connection retries";
          }
    
          leaf close-reason {
            type Bgp-rpki-creason;
            description "Server close reason";
          }
    
          leaf close-time {
            type uint32;
            description
              "Server close elapsed time";
          }
    
          leaf close-time-real {
            type uint32;
            description
              "Server close real timestamp (unix time)";
          }
    
          leaf read-bytes {
            type uint32;
            units "byte";
            description
              "Number of bytes read from the server";
          }
    
          leaf write-bytes {
            type uint32;
            units "byte";
            description
              "Number of bytes written to the server";
          }
    
          leaf transport {
            type uint32;
            description "Server transport type";
          }
    
          leaf username {
            type string;
            description "Server SSH username";
          }
    
          leaf password {
            type string;
            description "Server SSH password";
          }
    
          leaf sshpid {
            type uint32;
            description "Server SSH process ID";
          }
    
          leaf proto-state {
            type Bgp-rpki-pstate;
            description "Server Protocol state";
          }
    
          leaf proto-state-time {
            type uint32;
            description
              "Server Protocol state timestamp (unix time)";
          }
    
          leaf serial {
            type uint32;
            description "Server serial number";
          }
    
          leaf nonce {
            type uint32;
            description "Server nonce";
          }
    
          leaf refresh-time {
            type int32;
            units "second";
            description
              "Server refresh time (seconds)";
          }
    
          leaf response-time {
            type int32;
            units "second";
            description
              "Server response time (seconds)";
          }
    
          leaf purge-time {
            type int32;
            units "second";
            description
              "Server purge time (seconds)";
          }
    
          leaf ipv4roa {
            type uint32;
            description
              "Total IPv4 ROAs currently recv'd from server";
          }
    
          leaf ipv4roa-announce {
            type uint32;
            description
              "Total IPv4 ROAs announced by the server";
          }
    
          leaf ipv4roa-withdraw {
            type uint32;
            description
              "Total IPv4 ROAs withdrawn by the server";
          }
    
          leaf ipv6roa {
            type uint32;
            description
              "Total IPv6 ROAs currently recv'd from server";
          }
    
          leaf ipv6roa-announce {
            type uint32;
            description
              "Total IPv6 ROAs announced by the server";
          }
    
          leaf ipv6roa-withdraw {
            type uint32;
            description
              "Total IPv6 ROAs withdrawn by the server";
          }
    
          leaf proto-error {
            type Bgp-rpki-perror;
            description "Protocol Error Reason";
          }
    
          leaf bindsrc {
            type string;
            description
              "Server transport bind source ";
          }
    
          leaf identifier {
            type uint8;
            description "Allocated Id";
          }
        }  // grouping BGP-EDM-RPKI-CACHE
    
        grouping BGP-RPKI-CACHES-BAG {
          description "BGP RPKI CACHES BAG";
          list rpki-server {
            description "Array of RPKI servers";
            uses BGP-EDM-RPKI-CACHE;
          }  // list rpki-server
        }  // grouping BGP-RPKI-CACHES-BAG
    
        grouping BGP-ORR-GROUP-BASE-BAG {
          description
            "BGP GBL ORR Group Information";
          container orr-root-address {
            description "ORR Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-root-address
    
          container orr-sec-root-address {
            description "ORR Sec Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-sec-root-address
    
          container orr-ter-root-address {
            description "ORR ter Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-ter-root-address
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf is-orr-group-ipv4 {
            type boolean;
            description "Is v4 ORR group";
          }
    
          leaf is-orr-global-defined {
            type boolean;
            description
              "Is ORR group configured globally";
          }
    
          leaf orrafi-ref-count {
            type uint32;
            description "Number of used afis";
          }
    
          leaf orr-tableid {
            type uint32;
            description "ORR Group tableid";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configured";
          }
    
          leaf is-orr-sec-root-address-configured {
            type boolean;
            description
              "ORR Sec Root address configured";
          }
    
          leaf is-orr-ter-root-address-configured {
            type boolean;
            description
              "ORR Ter Root address configured";
          }
    
          list used-af {
            min-elements 25;
            max-elements 25;
            description
              "Is ORR group used by af";
            leaf entry {
              type boolean;
              description "Array entry.";
            }
          }  // list used-af
        }  // grouping BGP-ORR-GROUP-BASE-BAG
    
        grouping BGP-ATTRFILTER-ENTRY-BAG {
          description
            "BGP attribute-filter entry information";
          leaf attribute-filter-entry-requested-action {
            type Bgp-bag-upd-filter-action;
            description
              "Requested filtering action";
          }
    
          leaf attribute-filter-entry-range-start {
            type uint32;
            description
              "Start of attribute range";
          }
    
          leaf attribute-filter-entry-range-end {
            type uint32;
            description "End of attribute range";
          }
        }  // grouping BGP-ATTRFILTER-ENTRY-BAG
    
        grouping BGP-ATTRFILTER-GROUP-BAG {
          description
            "BGP attribute-filter group information";
          leaf attribute-filter-group-name {
            type string;
            description
              "String for BGP attribute-filter group name";
          }
    
          leaf attribute-filter-total-group-count {
            type uint32;
            description
              "Total number of attriute-filter groups";
          }
    
          list attribute-filter-entry {
            description
              "List of attriute-filter entries";
            uses BGP-ATTRFILTER-ENTRY-BAG;
          }  // list attribute-filter-entry
        }  // grouping BGP-ATTRFILTER-GROUP-BAG
    
        grouping BGP-EDM-LABEL-ENTRY {
          description "BGP EDM LABEL ENTRY";
          leaf label {
            type uint32;
            description
              "The label of the BGP edm entry";
          }
    
          leaf rds {
            type string;
            description
              "The BGP edm route-distinguishers";
          }
    
          leaf vrf {
            type string;
            description
              "The BGP external data manager labelvirtual
             routing and forwarding";
          }
    
          leaf ip {
            type inet:ipv4-address;
            description
              "The ip address of the BGP edm label";
          }
    
          leaf ip6 {
            type inet:ipv6-address;
            description
              "The ipv6 address of the BGP edm label";
          }
    
          leaf rpc-set-id {
            type uint32;
            description "The id of the rpc set";
          }
    
          leaf masklen {
            type uint16;
            description "The length of the mask";
          }
    
          leaf ts-sec {
            type uint32;
            units "second";
            description
              "The timestamp of the label allocationin seconds";
          }
    
          leaf ts-ssec {
            type uint32;
            units "second";
            description
              "The timestamp of the label allocationin
             subseconds";
          }
    
          leaf info {
            type uint16;
            description
              "The BGP edm label entry information";
          }
    
          leaf refcount {
            type uint32;
            description
              "The number of references updated";
          }
    
          leaf inactive {
            type boolean;
            description
              "Flag to indicate BGP edm label entryis inactive";
          }
        }  // grouping BGP-EDM-LABEL-ENTRY
    
        grouping BGP-LABEL-BAG {
          description "BGP LABEL BAG";
          container entry {
            description
              "The entry for the BGP label";
            uses BGP-EDM-LABEL-ENTRY;
          }  // container entry
        }  // grouping BGP-LABEL-BAG
    
        grouping BGP-EDM-RT-ENTRY {
          description "BGP EDM RT ENTRY";
          leaf route-target {
            type string;
            description "VRF Route Target value";
          }
        }  // grouping BGP-EDM-RT-ENTRY
    
        grouping BGP-VRF-RT-BAG {
          description "BGP VRF RT BAG";
          container rt {
            description
              "BGP virtual routing andforwarding route target";
            uses BGP-EDM-RT-ENTRY;
          }  // container rt
    
          leaf afs {
            type string;
            description
              "Address-families of BGPvrf route target";
          }
        }  // grouping BGP-VRF-RT-BAG
    
        grouping BGP-EDM-VRF-DB-VRF-TBL-ENTRY {
          description
            "BGP EDM VRF DB VRF TBL ENTRY";
          leaf name {
            type string;
            description "name";
          }
    
          leaf af {
            type int32;
            description "af";
          }
    
          leaf id {
            type uint32;
            description "id";
          }
    
          leaf index {
            type uint8;
            description "index";
          }
    
          leaf rsi-handle {
            type uint64;
            description "rsi handle";
          }
    
          leaf reg-pending {
            type boolean;
            description "reg pending";
          }
    
          leaf refcount {
            type uint32;
            description "refcount";
          }
    
          leaf import-policy {
            type string;
            description "import policy";
          }
    
          leaf export-policy {
            type string;
            description "export policy";
          }
    
          list import-rt {
            description "import rt";
            leaf entry {
              type uint64;
              description "import rt";
            }
          }  // list import-rt
    
          list export-rt {
            description "export rt";
            leaf entry {
              type uint64;
              description "export rt";
            }
          }  // list export-rt
    
          list import-rt-s {
            description "import rt s";
            leaf entry {
              type uint64;
              description "import rt s";
            }
          }  // list import-rt-s
    
          list export-rt-s {
            description "export rt s";
            leaf entry {
              type uint64;
              description "export rt s";
            }
          }  // list export-rt-s
        }  // grouping BGP-EDM-VRF-DB-VRF-TBL-ENTRY
    
        grouping BGP-VRF-DB-VRF-TBL-BAG {
          description "BGP VRF DB VRF TBL BAG";
          container entry {
            description "entry";
            uses BGP-EDM-VRF-DB-VRF-TBL-ENTRY;
          }  // container entry
        }  // grouping BGP-VRF-DB-VRF-TBL-BAG
    
        grouping BGP-SRV6-SID-MANAGER-BAG {
          description
            "SRv6 SID Manager information";
          container first-sid-mgr-connection-up-time-stamp {
            description
              "First SID Manager Connection Up time";
            uses BGP-TIMESPEC;
          }  // container first-sid-mgr-connection-up-time-stamp
    
          container last-sid-mgr-connection-up-time-stamp {
            description
              "Last SID Manager Connection Up time";
            uses BGP-TIMESPEC;
          }  // container last-sid-mgr-connection-up-time-stamp
    
          container first-sid-mgr-connection-down-time-stamp {
            description
              "First SID Manager Connection Down time";
            uses BGP-TIMESPEC;
          }  // container first-sid-mgr-connection-down-time-stamp
    
          container last-sid-mgr-connection-down-time-stamp {
            description
              "Last SID Manager Connection Down time";
            uses BGP-TIMESPEC;
          }  // container last-sid-mgr-connection-down-time-stamp
    
          leaf sid-mgr-connection-up-count {
            type uint32;
            description
              "Numer of SID Manager Up events";
          }
    
          leaf last-sid-mgr-connection-up-age {
            type uint32;
            units "second";
            description
              "Time since last SID Manager Connection Up event
             in seconds";
          }
    
          leaf sid-mgr-connection-down-count {
            type uint32;
            description
              "Numer of SID Manager Down events";
          }
    
          leaf last-sid-mgr-connection-down-age {
            type uint32;
            units "second";
            description
              "Time since last SID Manager Connection Down
             event in seconds";
          }
    
          leaf sid-mgr-alive {
            type boolean;
            description
              "SID Manager connection is Up";
          }
        }  // grouping BGP-SRV6-SID-MANAGER-BAG
    
        grouping BGP-EDM-LOCATOR-ENTRY {
          description "BGP EDM LOCATOR ENTRY";
          leaf locator-name {
            type string;
            description
              "The name of the BGP edmlocator";
          }
    
          leaf locator-id {
            type uint32;
            description "Locator Id";
          }
    
          leaf locator-address {
            type Ipv6-address;
            description
              "The address of the BGP locator";
          }
    
          leaf locator-address-len {
            type uint8;
            description
              "The length of the BGP locatoraddress";
          }
    
          leaf operation {
            type uint32;
            description "Locator operation";
          }
    
          leaf oor-state {
            type boolean;
            description "Locator OOR";
          }
    
          leaf locator-format {
            type uint32;
            description "Locator Format";
          }
        }  // grouping BGP-EDM-LOCATOR-ENTRY
    
        grouping BGP-SRV6-LOCATOR-BAG {
          description "SRv6 Locator information";
          container entry {
            description
              "The entry of the BGP srv6 locator";
            uses BGP-EDM-LOCATOR-ENTRY;
          }  // container entry
        }  // grouping BGP-SRV6-LOCATOR-BAG
    
        grouping BGP-SRV6-SUMMARY-BAG {
          description "SRv6 summary information";
          leaf locator-count {
            type uint32;
            description
              "Number of locators in bgp";
          }
    
          leaf srv6-enabled {
            type boolean;
            description
              "Flag to indicate SRv6 is enabled";
          }
    
          leaf stale {
            type boolean;
            description "stale";
          }
    
          leaf update-count {
            type uint32;
            description
              "number of SIDMGR updates";
          }
        }  // grouping BGP-SRV6-SUMMARY-BAG
    
        grouping BGP-UPDFILTER-PROC-BAG {
          description
            "BGP Update filtering Process information";
          container last-update-filtered-timestamp {
            description
              "Last filtered messages received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-filtered-timestamp
    
          leaf update-filtered-message-count {
            type uint32;
            description
              "The number of messages filtered";
          }
    
          leaf update-filtered-neighbor-count {
            type uint32;
            description
              "Count of neighbors that received filtered
             messages";
          }
    
          leaf last-update-filtered-age {
            type uint32;
            units "second";
            description
              "Time since last filtered messages received event
             (in seconds)";
          }
        }  // grouping BGP-UPDFILTER-PROC-BAG
    
        grouping BGP-NBR-MSG {
          description
            "Neighbor In/Out Message entry";
          container message-timestamp {
            description
              "message received time: time elapsed since 00:00
             :00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container message-timestamp
    
          leaf message-type-received {
            type uint8;
            description
              "Type of messages Received";
          }
    
          leaf total-logged-message-count {
            type uint32;
            description
              "Number of total logged messages";
          }
    
          leaf message-data-length {
            type uint16;
            description
              "Length of the BGP message";
          }
    
          list logged-message-data {
            description
              "Raw Message data in binary format";
            leaf entry {
              type uint8;
              description
                "Raw Message data in binary format";
            }
          }  // list logged-message-data
        }  // grouping BGP-NBR-MSG
    
        grouping BGP-MSGLOG-NBR-BAG {
          description
            "BGP Message logging Neighbor information";
          list neighbor-message {
            description
              "Array of Neighbor Messages in one direction";
            uses BGP-NBR-MSG;
          }  // list neighbor-message
        }  // grouping BGP-MSGLOG-NBR-BAG
    
        grouping BGP-NBR-INSTANCE {
          description
            "Dynamic Neighbor Instance";
          container neighbor-address {
            description
              "Dynamic Neighbor address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          container neighbor-age {
            description
              "Age of the BGP neighbor";
            uses BGP-TIMESPEC;
          }  // container neighbor-age
    
          container idle-watch-timer-remaining-value {
            description
              "Remaining time in idle watch timer";
            uses BGP-TIMESPEC;
          }  // container idle-watch-timer-remaining-value
    
          leaf is-idle-watch-timer-running {
            type boolean;
            description
              "Flag to indicate if idle watch timer is running";
          }
    
          leaf connection-state {
            type Bgp-conn-state;
            description "State of connection";
          }
        }  // grouping BGP-NBR-INSTANCE
    
        grouping BGP-NBR-RANGE-AF {
          description
            "BGP neighbor address family specific information";
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf is-neighbor-route-reflector-client {
            type boolean;
            description
              "Nbr is a route reflector client";
          }
    
          leaf is-legacy-pe-rt {
            type boolean;
            description
              "Nbr accepts route from legacy PE for
             RT-Constraint AF ";
          }
    
          leaf is-neighbor-af-capable {
            type boolean;
            description
              "Address family capability received from neighbor";
          }
    
          leaf is-soft-reconfiguration-inbound-allowed {
            type boolean;
            description
              "Inbound soft reconfiguration allowed";
          }
    
          leaf is-use-soft-reconfiguration-always-on {
            type boolean;
            description
              "Soft reconf overrides route refresh";
          }
    
          leaf remove-private-as-from-updates {
            type boolean;
            description
              "Private AS numbers removed from updates to this
             nbr";
          }
    
          leaf remove-private-as-entire-aspath-from-updates {
            type boolean;
            description
              "Private AS numbers removed from updates to
             thisnbr only if the aspath hasonly private ASes";
          }
    
          leaf remove-private-as-from-inbound-updates {
            type boolean;
            description
              "Private AS numbers removed from updates from
             this nbr";
          }
    
          leaf remove-private-as-entire-aspath-from-inbound-updates {
            type boolean;
            description
              "Private AS numbers removed from updates from
             this nbr only if the aspath has only private
             ASes";
          }
    
          leaf flowspec-validation-d-isable {
            type boolean;
            description
              "Flag to indicate if flowspec validation is
             disabled";
          }
    
          leaf flowspec-redirect-validation-d-isable {
            type boolean;
            description
              "Flag to indicate if flowspec redirect validation
             is disabled";
          }
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf orr-group-index {
            type uint32;
            description "ORR Group Index";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configuredfor the neighbor
             connection";
          }
    
          leaf advertise-afi {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf advertise-afi-reorg {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf advertise-afi-local {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf advertise-afi-disable {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf always-use-next-hop-local {
            type boolean;
            description
              "Local router always used for next-hop";
          }
    
          leaf next-hop-unchanged {
            type boolean;
            description
              "router does not change next-hop";
          }
    
          leaf sent-community-to-neighbor {
            type boolean;
            description
              "Community attribute sent to neighbor";
          }
    
          leaf sent-gshut-community-to-neighbor {
            type boolean;
            description
              "GSHUT Community attribute sent to neighbor";
          }
    
          leaf sent-extended-community-to-neighbor {
            type boolean;
            description
              "Extended community attribute sent to neighbor";
          }
    
          leaf neighbor-default-originate {
            type boolean;
            description
              "Neighbor originates default";
          }
    
          leaf is-orf-sent {
            type boolean;
            description
              "Outbound route filter sent to neighbor";
          }
    
          leaf is-update-deferred {
            type boolean;
            description
              "Update deferred until ORF/route refresh received";
          }
    
          leaf is-orf-send-scheduled {
            type boolean;
            description
              "Scheduled to send prefix based ORF";
          }
    
          leaf vpn-update-gen-enabled {
            type boolean;
            description
              "RT Nbr enabled for updategento another";
          }
    
          leaf vpn-update-gen-trigger-enabled {
            type boolean;
            description
              "RT Nbr enabled for updategento another";
          }
    
          leaf is-addpath-send-operational {
            type boolean;
            description
              "Addpath is operational on send-side";
          }
    
          leaf is-addpath-receive-operational {
            type boolean;
            description
              "Addpath is operational on receive-side";
          }
    
          leaf weight {
            type uint32;
            description "Weight for this AF";
          }
    
          leaf max-prefix-limit {
            type uint32;
            description
              "Max limit for # of prefixes";
          }
    
          leaf use-max-prefix-warning-only {
            type boolean;
            description
              "Warning only when maximum prefix limit reached";
          }
    
          leaf max-prefix-discard-extra-paths {
            type boolean;
            description
              "Discard extra paths when prefix limit reached";
          }
    
          leaf max-prefix-exceed-discard-paths {
            type boolean;
            description
              "Did we discard extra paths when prefix limit
             reached";
          }
    
          leaf max-prefix-threshold-percent {
            type uint8;
            units "percentage";
            description
              "Percentage of maximum no. of prefixes at which
             to generate warning";
          }
    
          leaf max-prefix-discard-paths-count {
            type uint32;
            description
              "Number of discarded paths after prefix limit
             reached";
          }
    
          leaf max-prefix-restart-time {
            type uint16;
            units "minute";
            description
              "Time interval (in minutes) after which peering
             session will be reestablished";
          }
    
          leaf is-peer-orf-capable {
            type boolean;
            description
              "Peer has outbound route filter capability";
          }
    
          leaf is-advertised-orf-send {
            type boolean;
            description
              "Prefix based ORF send mode capability advertised";
          }
    
          leaf is-received-orf-send-capable {
            type boolean;
            description
              "Prefix based ORF send mode capability received";
          }
    
          leaf is-advertised-orf-receive {
            type boolean;
            description
              "Prefix based ORF receive mode capability
             advertised";
          }
    
          leaf is-received-orf-receive-capable {
            type boolean;
            description
              "Prefix based ORF receive mode capability
             received";
          }
    
          leaf is-advertised-graceful-restart {
            type boolean;
            description
              "Graceful Restart Capability advertised";
          }
    
          leaf is-graceful-restart-state-flag {
            type boolean;
            description
              "Restart state flag enabled";
          }
    
          leaf is-received-graceful-restart-capable {
            type boolean;
            description
              "Graceful Restart Capability received";
          }
    
          leaf is-add-path-send-capability-advertised {
            type boolean;
            description
              "Flag to indicate if addpath send capability is
             advertised";
          }
    
          leaf is-add-path-send-capability-received {
            type boolean;
            description
              "Flag to indicate if addpath send capability is
             received";
          }
    
          leaf is-add-path-receive-capability-advertised {
            type boolean;
            description
              "Flag to indicate whetheraddpath receive
             capabilityadvertised";
          }
    
          leaf is-add-path-receive-capability-received {
            type boolean;
            description
              "Flag to indicate whether addpathreceive
             capability received";
          }
    
          leaf restart-time {
            type uint32;
            units "second";
            description
              "Restart time advertised (seconds)";
          }
    
          leaf local-restart-time {
            type uint32;
            units "second";
            description
              "Local Restart time (seconds)";
          }
    
          leaf stale-path-timeout {
            type uint32;
            units "second";
            description
              "Stale path timeout time (in seconds)";
          }
    
          leaf rib-purge-timeout-value {
            type uint32;
            units "second";
            description
              "RIB purge timeout time (in seconds)";
          }
    
          leaf neighbor-preserved-forwarding-state {
            type boolean;
            description
              "Flag to indicate if BGP neighbor is preserved in
             forwarding state";
          }
    
          leaf long-lived-graceful-restart-stale-time-configured {
            type boolean;
            description
              "Flag to indicate whether long-lived
             graceful-restart stale time is configured";
          }
    
          leaf long-lived-graceful-restart-stale-time-sent {
            type uint32;
            units "second";
            description
              "Stale time sent in long-lived graceful-restart
             capability (seconds)";
          }
    
          leaf long-lived-graceful-restart-stale-time-accept {
            type uint32;
            units "second";
            description
              "Maximum long-lived graceful-restart stale time
             acceptable from the neighbor (seconds)";
          }
    
          leaf long-lived-graceful-restart-capability-received {
            type boolean;
            description
              "Flag to indicate whether long-livedgraceful
             restart capability received from the neighbor";
          }
    
          leaf long-lived-graceful-restart-stale-time-received {
            type uint32;
            units "second";
            description
              "Long-lived graceful-restart stale time received
             from the neighbor (seconds)";
          }
    
          leaf neighbor-preserved-long-lived-forwarding-state {
            type boolean;
            description
              "Flag to indicate whether neighbor preserved
             long-lived forwarding state";
          }
    
          leaf neighbor-long-lived-graceful-restart-capable {
            type boolean;
            description
              "Flag to indicate whether treat neighbor as
             long-lived graceful-restart capable";
          }
    
          leaf neighbor-long-lived-graceful-restart-time-remaining {
            type uint32;
            description
              "Remaining long-lived graceful-restart time";
          }
    
          leaf is-prefix-orf-present {
            type boolean;
            description
              "Outbound route filter prefix ORF present";
          }
    
          leaf orf-entries-received {
            type uint32;
            description
              "Number of outbound route filter entries received";
          }
    
          leaf route-policy-prefix-orf {
            type string;
            description
              "Prefix based ORF for incoming updates";
          }
    
          leaf route-policy-in {
            type string;
            description
              "Incoming route policy name";
          }
    
          leaf route-policy-out {
            type string;
            description
              "Outgoing route policy name";
          }
    
          leaf route-policy-default-originate {
            type string;
            description
              "Default-originate route policy name";
          }
    
          leaf is-neighbor-ebgp-without-inbound-policy {
            type boolean;
            description
              "eBGP neighbor with no configured inbound policy";
          }
    
          leaf is-neighbor-ebgp-without-outbound-policy {
            type boolean;
            description
              "eBGP neighbor with no configured outbound policy";
          }
    
          leaf is-upd-orig-loopchk-disable-set {
            type boolean;
            description
              "Flag to indicate for update out originator
             loopcheck disable is set";
          }
    
          leaf is-as-override-set {
            type boolean;
            description
              "Flag to indicate if As-override is set";
          }
    
          leaf is-allow-as-in-set {
            type boolean;
            description "Allowas-in set ";
          }
    
          leaf allow-as-in-count {
            type uint32;
            description
              "Allowas-in count config";
          }
    
          leaf address-family-long-lived-time {
            type uint32;
            description
              "AF specific Long-lived-time config";
          }
    
          leaf is-aigp-set {
            type boolean;
            description "AIGP set ";
          }
    
          leaf is-rt-present {
            type boolean;
            description
              "RT attribute list present";
          }
    
          leaf is-rt-present-standby {
            type boolean;
            description
              "RT attribute list present";
          }
    
          leaf accept-own-enabled {
            type boolean;
            description
              "Flag to indicate if accept-Own is enabled";
          }
    
          leaf selective-multipath-eligible {
            type boolean;
            description
              "Flag to indicate if selective multipath is
             eligible";
          }
    
          leaf afrpki-disable {
            type boolean;
            description
              "Prefix validation disabled";
          }
    
          leaf afrpki-use-validity {
            type boolean;
            description "Prefix v. use validity";
          }
    
          leaf afrpki-allow-invalid {
            type boolean;
            description
              "Prefix v. allow invalid";
          }
    
          leaf afrpki-signal-ibgp {
            type boolean;
            description "Prefix v. signal ibgp";
          }
    
          leaf is-advertise-permanent-network {
            type boolean;
            description
              "Flag to indicate if advertise permanent network
             is enabled";
          }
    
          leaf is-send-mcast-attr {
            type boolean;
            description "Send Mcast Attr";
          }
    
          leaf import-stitching {
            type boolean;
            description
              "Import Stitching enabled";
          }
    
          leaf import-reoriginate {
            type boolean;
            description
              "Import Reoriginate enabled";
          }
    
          leaf import-reoriginate-stitching {
            type boolean;
            description
              "Import Reoriginate Stitching enabled";
          }
    
          leaf advertise-v4-flags {
            type uint32;
            description
              "Advertise options for VPNV4";
          }
    
          leaf advertise-v6-flags {
            type uint32;
            description
              "Advertise options for VPNV6";
          }
    
          leaf enable-label-stack {
            type boolean;
            description
              "Flag to indicate if label stack is enabled";
          }
    
          list extended-community {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community
    
          list extended-community-standby {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community-standby
        }  // grouping BGP-NBR-RANGE-AF
    
        grouping BGP-NBR-RANGE-BAG {
          description
            "BGP Neighbor Range Information";
          container connection-local-address {
            description
              "Local address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-local-address
    
          container connection-remote-address {
            description
              "Remote address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-remote-address
    
          container graceful-maintenance {
            description
              "BGP connection of graceful shutdown";
            uses BGP-NBR-GSHUT;
          }  // container graceful-maintenance
    
          container cfg-local-address {
            description
              "Configured local address";
            uses BGP-ADDRTYPE;
          }  // container cfg-local-address
    
          container local-address-subnet {
            description
              "Subnet for the BGP local address";
            uses BGP-ADDRTYPE;
          }  // container local-address-subnet
    
          leaf speaker-id {
            type uint8;
            description
              "Speaker this neighbor is allocated to";
          }
    
          leaf description {
            type string;
            description
              "Description of the BGP neighbor";
          }
    
          leaf local-as {
            type uint32;
            description "Local AS number";
          }
    
          leaf remote-as {
            type uint32;
            description "Remote AS number";
          }
    
          leaf has-internal-link {
            type boolean;
            description
              "Internal link to neighbor";
          }
    
          leaf is-local-address-configured {
            type boolean;
            description
              "Local address configured for the neighbor
             connection";
          }
    
          leaf neighbor-range-prefix-length {
            type uint8;
            description
              "Length of the BGP neighbor prefix";
          }
    
          leaf is-administratively-shut-down {
            type boolean;
            description
              "Flag to indicate if neighbor is administratively
             shutdown";
          }
    
          leaf is-neighbor-max-prefix-shutdown {
            type boolean;
            description
              "Neighbor shut down because it exceeded max prfx
             count";
          }
    
          leaf is-out-of-memory-forced-up {
            type boolean;
            description
              "Neighbor forced up during a low memory condition";
          }
    
          leaf ttl-security-enabled {
            type boolean;
            description "TTL Security enabled";
          }
    
          leaf suppress4-byte-as {
            type boolean;
            description
              "Suppress 4byteas capability";
          }
    
          leaf bfd-session-enable-mode {
            type Bgp-bfd-enable-mode;
            description
              "BFD enable mode for this peer";
          }
    
          leaf bfd-minintervalval {
            type uint32;
            description
              "BFD Mininterval for this peer";
          }
    
          leaf bfd-multiplierval {
            type uint32;
            description
              "BFD Multiplier for this peer";
          }
    
          leaf ebgp-time-to-live {
            type uint32;
            description
              "Maximum number of hops for external BGP neighbor";
          }
    
          leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled {
            type boolean;
            description
              "If true, MPLS and NULL rewrite is disabled; if
             false, it is enabled";
          }
    
          leaf tcpmss {
            type uint32;
            description
              "Neighbor TCP Maximum Segment
             size";
          }
    
          leaf msg-log-in {
            type uint32;
            description "Message in log count";
          }
    
          leaf msg-log-out {
            type uint32;
            description "Message out log count";
          }
    
          leaf neighbor-local-as {
            type uint32;
            description
              "Local AS configured on the neighbor";
          }
    
          leaf local-as-no-prepend {
            type boolean;
            description
              "Option to not prepend the Local AS to
             announcements";
          }
    
          leaf merge-inbound-safi1and4-updates {
            type boolean;
            description
              "Merge SAFI-1 and SAFI-4 updates from neighbor";
          }
    
          leaf is-capability-negotiation-performed {
            type boolean;
            description
              "Flag to indicate if BGP neighbor capability
             negotiation is performed";
          }
    
          leaf configured-hold-time {
            type uint16;
            units "second";
            description
              "Hold time (in secs) configured for this
             connection";
          }
    
          leaf configured-keepalive {
            type uint16;
            units "second";
            description
              "Keepalive time (in secs) configured for this
             connection";
          }
    
          leaf configured-min-acc-hold-time {
            type uint16;
            units "second";
            description
              "Minimum acceptable hold time from neighbor (in
             secs) configured for this connection";
          }
    
          leaf min-advertise-interval {
            type uint32;
            units "second";
            description
              "Minimum advertisement interval, secs part";
          }
    
          leaf min-advertise-interval-msecs {
            type uint32;
            units "millisecond";
            description
              "Minimum advertisement interval, msecs part";
          }
    
          leaf min-origination-interval {
            type uint16;
            units "second";
            description
              "Minimum origination interval (in secs)";
          }
    
          leaf remote-as-number {
            type uint32;
            description
              "AS number of the neighbor";
          }
    
          leaf dmz-link-bandwidth {
            type uint32;
            description
              "Bandwidth of link to single-hop eBGP peer";
          }
    
          leaf ebgp-recv-dmz {
            type boolean;
            description
              "Receive Bandwidth of link to single-hop eBGP
             peer";
          }
    
          leaf ebgp-send-dmz-mode {
            type Bgp-ebgp-send-dmz-enable-mode;
            description
              "Ebgp send dmz link bw mode";
          }
    
          leaf tos-type {
            type uint8;
            description
              "Precedence or DSCP type";
          }
    
          leaf tos-value {
            type uint8;
            description
              "Precedence or DSCP value";
          }
    
          leaf tcp-session-open-mode {
            type Bgp-tcp-mode;
            description
              "The TCP mode to be used to set up BGP session
             with the neighbor";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf standby-rp {
            type boolean;
            description
              "Standby RP socket inited for Active Open";
          }
    
          leaf nsr-enabled {
            type boolean;
            description "Neighbor supports NSR";
          }
    
          leaf graceful-restart-enabled-nbr {
            type boolean;
            description
              "Neighbor supports graceful-restart";
          }
    
          leaf gr-restart-time {
            type uint32;
            units "second";
            description
              "Neighbor restart time (in seconds)";
          }
    
          leaf gr-stale-path-time {
            type uint32;
            units "second";
            description
              "Neighbor stale-path time (in seconds)";
          }
    
          leaf is-passive-close {
            type boolean;
            description
              "If true, active socket canbe closed if passive
             openis received for a GRcapable neighbor";
          }
    
          leaf nbr-enforce-first-as {
            type boolean;
            description
              "Neighbor enforce first AS";
          }
    
          leaf active-bmp-servers {
            type uint8;
            description
              "BMP Servers to which the neighbor sends logs";
          }
    
          leaf nbr-cluster-id {
            type uint32;
            description "Cluster id";
          }
    
          leaf nbr-in-cluster {
            type uint8;
            description
              "Type of cluster_id:undefined/number/Ip address";
          }
    
          leaf ignore-connected {
            type boolean;
            description
              "If true, the VPN client isan IBGP CE peer";
          }
    
          leaf internal-vpn-client {
            type boolean;
            description
              "If true, don't do NHconnected check for nbr";
          }
    
          leaf local-as-replace-as {
            type boolean;
            description
              "Local AS Replace-AS option";
          }
    
          leaf local-as-dual-as {
            type boolean;
            description
              "Local AS Dual-AS option";
          }
    
          leaf local-as-dual-as-mode-native {
            type boolean;
            description
              "Applies only if Local AS Dual-AS option is
             enabled. Indicates if Dual-AS mode is native.";
          }
    
          leaf egress-peer-engineering-enabled {
            type boolean;
            description
              "Indicates if Egress Peer Engineering is enabled";
          }
    
          leaf discard-as4-path {
            type uint32;
            description
              "Discard AS4_PATH in case there is a discrepancy
             in merging AS_PATH and AS4_PATH,retain ASPATH";
          }
    
          leaf rpki-disable {
            type boolean;
            description
              "Prefix validation disabled";
          }
    
          leaf rpki-use-validity {
            type boolean;
            description "Prefix v. use validity";
          }
    
          leaf rpki-allow-invalid {
            type boolean;
            description
              "Prefix v. allow invalid";
          }
    
          leaf rpki-signal-ibgp {
            type boolean;
            description "Prefix v. signal ibgp";
          }
    
          leaf remote-as-list-name {
            type string;
            description "Remote AS List Name";
          }
    
          leaf nbr-rcv-size {
            type uint32;
            description "Nbr Receive Size";
          }
    
          leaf nbr-send-size {
            type uint32;
            description "Nbr Send Size";
          }
    
          leaf islocal-address-cfg {
            type boolean;
            description
              "Local address configured";
          }
    
          leaf update-source {
            type string;
            description
              "Interface to get the local IP address for the
             BGP session";
          }
    
          leaf is-local-addr-subnet-cfg {
            type boolean;
            description
              "Flag to indicate if local-address-subnet is
             configured";
          }
    
          leaf local-address-subnet-len {
            type uint32;
            description
              "Length of subnet for BGP local address";
          }
    
          leaf addpath-send-enable {
            type boolean;
            description
              "Flag to indicate if addpath send functionality
             is enabled";
          }
    
          leaf addpath-receive-enable {
            type boolean;
            description
              "Flag to indicate if addpath receive
             functionality is enabled";
          }
    
          leaf addpath-send-disable {
            type boolean;
            description
              "Flag to indicate addpath send functionality is
             disabled";
          }
    
          leaf addpath-receive-disable {
            type boolean;
            description
              "Flag indicates if addpath receive functionality
             is disabled";
          }
    
          leaf upd-errh-noreset {
            type boolean;
            description
              "Update error handling configuration for C1
             category errors";
          }
    
          leaf msg-buf-count {
            type uint32;
            description "Message Buf Count";
          }
    
          leaf msg-bug-circular {
            type boolean;
            description "Message Buf Circular";
          }
    
          leaf syslog-enable {
            type boolean;
            description
              "Flag to indicate if syslog should be output when
             an attribute filter is executed";
          }
    
          leaf oper-attrf-enable {
            type boolean;
            description
              "Flag to indicate if operational attribute filter
             is enabled";
          }
    
          leaf attrf-group-name {
            type string;
            description
              "Name of the attribute filter group Name";
          }
    
          leaf max-peers {
            type uint32;
            description
              "Max Dynamic nbrs in range";
          }
    
          leaf idle-watch-time {
            type uint32;
            units "second";
            description
              "Dynamic Neighbor idle-watch time (in seconds)";
          }
    
          leaf current-peers {
            type uint32;
            description
              "Current Dynamic nbrs in range";
          }
    
          leaf range-open-match {
            type uint32;
            description
              "Passive open matching range";
          }
    
          leaf range-open-accepted {
            type uint32;
            description
              "BGP neighbor passive session accepted";
          }
    
          leaf range-max-drop {
            type uint32;
            description
              "open drop due to max peers";
          }
    
          leaf range-inst-error {
            type uint32;
            description
              "Error during instance creation";
          }
    
          list af-data {
            max-elements 25;
            description
              "Address family specific neighbor data";
            uses BGP-NBR-RANGE-AF;
          }  // list af-data
    
          list instance {
            description
              "Dynamic Neighbor Instance List";
            uses BGP-NBR-INSTANCE;
          }  // list instance
        }  // grouping BGP-NBR-RANGE-BAG
    
        grouping BGP-NEXTHOP-VRF-BAG {
          description
            "BGP nexthop processing information for a VRF";
          leaf total-processing-time {
            type uint32;
            description
              "Total time spent in processing";
          }
    
          leaf max-proc-notification-time {
            type uint32;
            description
              "How long since the maximum processing time
             notifcation was received";
          }
    
          leaf max-notification-bestpath-deletes {
            type uint32;
            description
              "Number of bestpath deletes caused by
             notification which resulted in maximum
             processing";
          }
    
          leaf max-notification-bestpath-changes {
            type uint32;
            description
              "Number of bestpath changes caused by
             notification which resulted in maximum
             processing";
          }
    
          leaf maximum-processing-time {
            type uint32;
            description
              "Maximum time spent procesing a single batch
             notification";
          }
    
          leaf last-notificationication-time {
            type uint32;
            description
              "Time since the last notification was received";
          }
    
          leaf last-notification-processing-time {
            type uint32;
            description
              "Processing time for the last notification";
          }
        }  // grouping BGP-NEXTHOP-VRF-BAG
    
        grouping BGP-NBR-BRIEF-BAG {
          description
            "BGP Neighbor brief Information";
          container connection-local-address {
            description
              "Local address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-local-address
    
          container connection-remote-address {
            description
              "Remote address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-remote-address
    
          leaf speaker-id {
            type uint8;
            description
              "Speaker this neighbor is allocated to";
          }
    
          leaf description {
            type string;
            description
              "BGP neighbor brief description";
          }
    
          leaf local-as {
            type uint32;
            description "Local AS number";
          }
    
          leaf remote-as {
            type uint32;
            description "Remote AS number";
          }
    
          leaf messages-queued-in {
            type uint32;
            description
              "No. of msgs on receive queue";
          }
    
          leaf messages-queued-out {
            type uint32;
            description
              "No. of messages on send queue";
          }
    
          leaf connection-state {
            type Bgp-conn-state;
            description "State of connection";
          }
    
          leaf is-local-address-configured {
            type boolean;
            description
              "Local address configured for the neighbor
             connection";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf nsr-enabled {
            type boolean;
            description "Neighbor supports NSR";
          }
    
          leaf nsr-state {
            type Bgp-sync-nbr-nsr-state;
            description "NSR state";
          }
    
          leaf postit-pending {
            type boolean;
            description
              "Nbr has postits pending";
          }
    
          leaf connection-established-time {
            type uint32;
            units "second";
            description
              "Time (in secs) that the connection has been
             established";
          }
        }  // grouping BGP-NBR-BRIEF-BAG
    
        grouping BGP-PERF-PROCESS-VRF {
          description "BGP PERF PROCESS VRF";
          leaf lpts-set-up-time {
            type uint32;
            description
              "Time spent setting up LPTS socket opt (ms)";
          }
    
          leaf lpts-calls {
            type uint32;
            description
              "Number of times LPTS socket opt set up";
          }
    
          leaf read-throttles-count {
            type uint32;
            description
              "Number of partial read throttles";
          }
    
          leaf low-throttled-read-count {
            type uint32;
            description
              "Number of socket reads for nbrs above low
             threshold";
          }
    
          leaf high-throttled-read-count {
            type uint32;
            description
              "Number of socket reads for nbrs above high
             threshold";
          }
    
          leaf read-calls-count {
            type uint32;
            description
              "No. of calls to function to read inbound data";
          }
    
          leaf read-messages-count {
            type uint32;
            description
              "Number of BGP messages read";
          }
    
          leaf data-bytes-read {
            type uint32;
            units "byte";
            description
              "No. of bytes of data read";
          }
    
          leaf io-read-time {
            type uint32;
            description
              "Time spent reading inbound data (ms)";
          }
    
          leaf write-calls-count {
            type uint32;
            description
              "No. of calls to function to write outbound data";
          }
    
          leaf data-bytes-written {
            type uint32;
            units "byte";
            description
              "Number of bytes of data written";
          }
    
          leaf io-write-time {
            type uint32;
            description
              "Time spent writing outbound data (ms)";
          }
    
          leaf write-subgroup-calls-count {
            type uint32;
            description
              "No. of calls to to funvction to process
             sub-group message list";
          }
    
          leaf write-subgroup-messages-count {
            type uint32;
            description
              "Number of sub-group messages processed";
          }
    
          leaf subgroup-list-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing sub-group message list
             (milliseconds)";
          }
    
          leaf write-queue-calls-count {
            type uint32;
            description
              "No. of Calls to function to process write queue";
          }
    
          leaf write-queue-messages-count {
            type uint32;
            description
              "Number of write queue messages processed";
          }
    
          leaf write-queue-time {
            type uint32;
            description
              "Time spent processing write queue (ms)";
          }
    
          leaf inbound-update-messages {
            type uint32;
            description
              "Number of inbound update messages processed";
          }
    
          leaf inbound-update-messages-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing imbound update messages
             (milliseconds)";
          }
        }  // grouping BGP-PERF-PROCESS-VRF
    
        grouping BGP-ISSU-MILESTONE-BAG {
          description "BGP ISSU MILESTONE BAG";
          leaf milestone-name {
            type string;
            description
              "Name of the in-service software upgrade (ISSU)
             milestone";
          }
    
          leaf milestone-start-timestamp {
            type uint32;
            description
              "Timestamp for the ISSU milestone start";
          }
    
          leaf milestone-met-timestamp {
            type uint32;
            description
              "Timestamp when ISSU milestone met";
          }
        }  // grouping BGP-ISSU-MILESTONE-BAG
    
        grouping BGP-PERF-NPL-ENDP-INFO-BAG {
          description
            "BGP PERF NPL ENDP INFO BAG";
          leaf endpoint-name {
            type string;
            description "BGP NPL endpoint name";
          }
    
          leaf sync-group-name {
            type string;
            description
              "Syncgroup associated with this endpoint";
          }
    
          leaf node-id {
            type xr:Node-id;
            description "Node ID";
          }
    
          leaf endpoint-handle {
            type uint64;
            description
              "Handle to end-point for NCD communication";
          }
    
          leaf endpoint-stale-flag {
            type boolean;
            description
              "Flag to indicate if endpoint is stale";
          }
    
          leaf endpoint-issu-role {
            type string;
            description
              "Endpoint's ISSU Role. Values are 'Primary',
             'Secondary' and 'Tertiary'";
          }
    
          leaf endpoint-active-flag {
            type boolean;
            description
              "Flag to indicate if endpoint is active";
          }
    
          leaf msg-size {
            type uint32;
            description
              "Message size for this entity";
          }
    
          leaf wheel-id {
            type uint32;
            description
              "Wheel ID for this endpoint";
          }
    
          leaf expected-sequence-num {
            type uint32;
            description
              "BGP NPL sequence number expected";
          }
    
          leaf last-sent-sequence-num {
            type uint32;
            description "Last sent Sequence Num";
          }
    
          leaf npl-initial-sequence-num {
            type uint32;
            description
              "NPL Initial Sequence Num";
          }
    
          list endpoint {
            description
              "NCD endpoint bytestream";
            leaf entry {
              type uint8;
              units "byte";
              description
                "NCD endpoint bytestream";
            }
          }  // list endpoint
        }  // grouping BGP-PERF-NPL-ENDP-INFO-BAG
    
        grouping NSR-PL-RECV-DROP-ARRAY {
          description
            "Drop count while receiving messages";
          list nsr-pl-recv-drop-array {
            max-elements 16;
            description "nsr pl recv drop array";
            leaf entry {
              type uint32;
              description "entry";
            }
          }  // list nsr-pl-recv-drop-array
        }  // grouping NSR-PL-RECV-DROP-ARRAY
    
        grouping NSR-PL-SEND-DROP-ARRAY {
          description
            "Drop count while sending messages";
          list nsr-pl-send-drop-array {
            max-elements 7;
            description "nsr pl send drop array";
            leaf entry {
              type uint32;
              description "entry";
            }
          }  // list nsr-pl-send-drop-array
        }  // grouping NSR-PL-SEND-DROP-ARRAY
    
        grouping NSR-PL-CLIENT-STATS-TYPE {
          description "NSR PL stats information";
          leaf prio-queue-level {
            type string {
              length "0..32";
            }
            description
              "npl priority queue level";
          }
    
          list num-sent {
            max-elements 5;
            description "Total sent";
            leaf entry {
              type uint64;
              description "Total sent";
            }
          }  // list num-sent
    
          list num-recv {
            max-elements 6;
            description "Total recvd";
            leaf entry {
              type uint64;
              description "Total recvd";
            }
          }  // list num-recv
    
          list num-sent-drop {
            max-elements 5;
            description "Sent Error/drops";
            uses NSR-PL-SEND-DROP-ARRAY;
          }  // list num-sent-drop
    
          list num-recv-drop {
            max-elements 6;
            description "Recv Errors/drops";
            uses NSR-PL-RECV-DROP-ARRAY;
          }  // list num-recv-drop
        }  // grouping NSR-PL-CLIENT-STATS-TYPE
    
        grouping BGP-PERF-DS-NPL-INFO-BAG {
          description "BGP PERF DS NPL INFO BAG";
          leaf dir-service-conn-state {
            type Bgp-ds-conn-state;
            description
              "Current Directory Service connectionstate";
          }
    
          leaf issu-mgr-conn-state {
            type Bgp-ism-conn-state;
            description
              "Current ISSU Mgr connection state";
          }
    
          leaf issu-phase {
            type string;
            description "Current ISSU Phase";
          }
    
          leaf issu-type-ng {
            type boolean;
            description "ISSU type is Next Gen";
          }
    
          leaf issuha-option {
            type string;
            description "Current ISSU HA option";
          }
    
          leaf local-ds-handle {
            type uint64;
            description
              "Local Directory Service handle";
          }
    
          leaf service-name {
            type string;
            description "Local DS service name";
          }
    
          leaf dsissu-status-flag {
            type uint32;
            description "DS ISSU status flag";
          }
    
          list npl-priority-statistic {
            max-elements 2;
            description
              "Stats for BGP NPL priority";
            uses NSR-PL-CLIENT-STATS-TYPE;
          }  // list npl-priority-statistic
    
          list npl-endpoint {
            description
              "NPL endpoint information";
            uses BGP-PERF-NPL-ENDP-INFO-BAG;
          }  // list npl-endpoint
        }  // grouping BGP-PERF-DS-NPL-INFO-BAG
    
        grouping BGP-PERF-SERVER-CONN-STAT-BAG {
          description
            "BGP PERF SERVER CONN STAT BAG";
          container first-connection-up-timestamp {
            description
              "Timestamp for first connection up";
            uses BGP-TIMESPEC;
          }  // container first-connection-up-timestamp
    
          container last-connection-up-timestamp {
            description
              "Timestamp for last connection Up";
            uses BGP-TIMESPEC;
          }  // container last-connection-up-timestamp
    
          container first-connection-down-timestamp {
            description
              "Timestamp for first connection down";
            uses BGP-TIMESPEC;
          }  // container first-connection-down-timestamp
    
          container last-connection-down-timestamp {
            description
              "Timestamp for last connection down";
            uses BGP-TIMESPEC;
          }  // container last-connection-down-timestamp
    
          leaf is-connection-up {
            type boolean;
            description "Is Connection Up?";
          }
    
          leaf connection-up-count {
            type uint32;
            description
              "Number of connection Up events";
          }
    
          leaf last-connection-up-age {
            type uint32;
            units "second";
            description
              "Time since last connection Up event (in seconds)";
          }
    
          leaf connection-down-count {
            type uint32;
            description
              "Number of connection down events";
          }
    
          leaf last-connection-down-age {
            type uint32;
            units "second";
            description
              "Time since last connection Down event (in
             seconds)";
          }
        }  // grouping BGP-PERF-SERVER-CONN-STAT-BAG
    
        grouping BGP-PERF-RIB-GBL-INFO-BAG {
          description
            "BGP PERF RIB GBL INFO BAG";
          container first-rib-connection-up-timestamp {
            description
              "First RIB connection Up event timestamp";
            uses BGP-TIMESPEC;
          }  // container first-rib-connection-up-timestamp
    
          container last-rib-connection-up-timestamp {
            description
              "Last RIB connection Up event timestamp";
            uses BGP-TIMESPEC;
          }  // container last-rib-connection-up-timestamp
    
          container first-rib-connection-down-timestamp {
            description
              "First RIB connection Down event timestamp";
            uses BGP-TIMESPEC;
          }  // container first-rib-connection-down-timestamp
    
          container last-rib-connection-down-timestamp {
            description
              "Last RIB connection Down event timestamp";
            uses BGP-TIMESPEC;
          }  // container last-rib-connection-down-timestamp
    
          leaf is-rib-connection-up {
            type boolean;
            description "Is RIB Connection Up?";
          }
    
          leaf rib-connection-up-count {
            type uint32;
            description
              "Number of RIB connection Up events";
          }
    
          leaf last-rib-connection-up-age {
            type uint32;
            units "second";
            description
              "Time since last RIB connection Up event (in
             seconds)";
          }
    
          leaf rib-connection-down-count {
            type uint32;
            description
              "Number of RIB connection Down events";
          }
    
          leaf last-rib-connection-down-age {
            type uint32;
            units "second";
            description
              "Time since last RIB connection Down event (in
             seconds)";
          }
        }  // grouping BGP-PERF-RIB-GBL-INFO-BAG
    
        grouping BGP-POSTIT-COUNT-INFO {
          description "BGP POSTIT COUNT INFO";
          container neighbor-address {
            description
              "IP address of the neighbor";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          leaf postit-count {
            type uint32;
            description
              "Count of the number of postits for this nbr";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
        }  // grouping BGP-POSTIT-COUNT-INFO
    
        grouping BGP-PERF-PROCESS-GBL {
          description "BGP PERF PROCESS GBL";
          container ipv4rib-server {
            description
              "IPv4 RIB server global info";
            uses BGP-PERF-RIB-GBL-INFO-BAG;
          }  // container ipv4rib-server
    
          container ipv6rib-server {
            description
              "IPv6 RIB server global info";
            uses BGP-PERF-RIB-GBL-INFO-BAG;
          }  // container ipv6rib-server
    
          container te-connection {
            description
              "MPLS TE server connection info";
            uses BGP-PERF-SERVER-CONN-STAT-BAG;
          }  // container te-connection
    
          container lsd-connection {
            description
              "MPLS LSD server connection info";
            uses BGP-PERF-SERVER-CONN-STAT-BAG;
          }  // container lsd-connection
    
          container ds-npl {
            description
              "NSR related DS and NPL information";
            uses BGP-PERF-DS-NPL-INFO-BAG;
          }  // container ds-npl
    
          leaf configuration-items-processed {
            type uint32;
            description
              "Number of config items processed";
          }
    
          leaf configuration-processing-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing config (milliseconds)";
          }
    
          leaf edm-requests-count {
            type uint32;
            description
              "Number of EDM requests processed";
          }
    
          leaf edm-processing-time {
            type uint32;
            description
              "Time spent processing EDM requests (ms)";
          }
    
          leaf brib-api-output-messages-sent {
            type uint32;
            description
              "bRIB API output messages sent";
          }
    
          leaf brib-api-output-bytes-sent {
            type uint32;
            units "byte";
            description
              "bRIB API output bytes sent";
          }
    
          leaf brib-api-output-bytes-generated {
            type uint32;
            units "byte";
            description
              "Number of bytes generated to be sent by the BGP
             RIB API";
          }
    
          leaf brib-api-output-prefixes-advertised {
            type uint32;
            description
              "Number of prefix advertise messagesto be sent by
             the bRIB API";
          }
    
          leaf brib-api-output-prefixes-withdrawn {
            type uint32;
            description
              "Number of prefix withdraw messagesto be sent by
             the bRIB API";
          }
    
          leaf brib-api-output-sending-time {
            type uint32;
            description
              "Time spent sending output to bRIB API (ms)";
          }
    
          leaf brib-api-output-generation-time {
            type uint32;
            units "millisecond";
            description
              "Time spent generating output for bRIB API
             (milliseconds)";
          }
    
          leaf brib-api-output-calls {
            type uint32;
            description
              "bRIB API calls to generate output";
          }
    
          leaf brib-api-input-messages {
            type uint32;
            description
              "bRIB API input messages";
          }
    
          leaf brib-api-input-bytes {
            type uint32;
            units "byte";
            description "bRIB API input bytes";
          }
    
          leaf brib-api-input-prefixes-received {
            type uint32;
            description
              "bRIB API input advertised prefixes received";
          }
    
          leaf brib-api-input-withdrawn-prefixes {
            type uint32;
            description
              "bRIB API input withdrawn prefixes received";
          }
    
          leaf brib-api-input-processing-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing input from bRIB API
             (milliseconds)";
          }
    
          leaf instance-node-role {
            type boolean;
            description
              "Node role - active/passive";
          }
    
          leaf active-nsrtcp-phase-two-enter-time {
            type uint32;
            units "second";
            description
              "Time that NSR TCP Init Sync Phase Two entered on
             active (seconds since Jan 1 1970)";
          }
    
          leaf sec-active-nsrtcp-phase-two-enter-time {
            type uint32;
            units "second";
            description
              "Time that NSR TCP Init Sync Phase Two entered on
             active (seconds since Jan 1 1970)";
          }
    
          leaf proc-scoped-sync-state {
            type Bgp-scoped-sync-state;
            description
              "Synchronized state of BGP process";
          }
    
          leaf initial-sync-sessions-added {
            type boolean;
            description
              "If true, BGP has at least one established
             session when NSR initial synchronization is
             started";
          }
    
          leaf in-event-attach-calls {
            type uint32;
            description
              "event_file_attach  calls for input";
          }
    
          leaf out-event-attach-calls {
            type uint32;
            description
              "event_file_attach  calls for output";
          }
    
          leaf in-out-event-attach-calls {
            type uint32;
            description
              "event_file_attach calls for input";
          }
    
          leaf updgen-timer-running {
            type boolean;
            description
              "Flag to indicate if update generation master
             timer is running";
          }
    
          leaf updgen-tree-timer-left {
            type uint64;
            description
              "Time left before the QNX timer would expire";
          }
    
          leaf updgen-tree-timer-expiry {
            type uint64;
            description
              "Time as per tree->mtexptime";
          }
    
          leaf current-clock-time {
            type uint64;
            description "Current time";
          }
    
          leaf updgen-handler-tm {
            type uint64;
            description
              "Timestamp when updgen timer handler got called";
          }
    
          leaf io-timer-running {
            type boolean;
            description
              "IO master timer Running";
          }
    
          leaf io-tree-timer-left {
            type uint64;
            description
              "Time left before the QNX timer would expire";
          }
    
          leaf io-tree-timer-expiry {
            type uint64;
            description
              "Time as per tree->mtexptime";
          }
    
          leaf io-handler-tm {
            type uint64;
            description
              "Timestamp when IO timer handler got called";
          }
    
          leaf qad-messages-sent {
            type uint32;
            description "Messages sent on QAD ";
          }
    
          leaf qadack-sent {
            type uint32;
            description "Acks sent on QAD ";
          }
    
          leaf qad-send-failure {
            type uint32;
            description "Send failure on QAD ";
          }
    
          leaf qad-ac-ks-failure {
            type uint32;
            description "Ack failure on QAD ";
          }
    
          leaf qad-suspends {
            type uint32;
            description "QAD send suspend";
          }
    
          leaf qad-resumes {
            type uint32;
            description "QAD send resume ";
          }
    
          leaf qad-send-drops {
            type uint32;
            description
              "Send packets dropped due to null peer ";
          }
    
          leaf qad-messages-received {
            type uint32;
            description
              "Messages received on QAD ";
          }
    
          leaf qad-processed {
            type uint32;
            description "Messages processed";
          }
    
          leaf qad-ac-ks-received {
            type uint32;
            description "Acks received on QAD ";
          }
    
          leaf qad-timeout-received {
            type uint32;
            description
              "Timeouts received on QAD ";
          }
    
          leaf qad-init-drops {
            type uint32;
            description
              "Packets dropped on standby during initialization";
          }
    
          leaf qadoos-drops {
            type uint32;
            description
              "Packets dropped due to  out of sequence
             packetreceived";
          }
    
          leaf qad-recv-drops {
            type uint32;
            description
              "Received packet dropped due to null peer ";
          }
    
          leaf qad-timeout-recvd {
            type uint32;
            description
              "Number of packet send timeouts ";
          }
    
          leaf nsr-last-reset-reason {
            type uint8;
            description
              "Reason for last nsr state  machine reset";
          }
    
          leaf redcon-nsr-ready {
            type boolean;
            description
              "NSR state conveyed to Redcon  by bgp - nsr
             ready/unready";
          }
    
          leaf redcon-state-time {
            type uint32;
            description
              "Time when nsr state wasconveyed to Redcon last";
          }
    
          leaf active-nsr-state {
            type uint32;
            description
              "Current Active BGP nsrstate";
          }
    
          leaf sec-active-nsr-state {
            type uint32;
            description
              "Current Sec Active BGP nsrstate";
          }
    
          leaf total-outstanding-postits {
            type uint32;
            description
              "Total outstanding postits across all neighbors";
          }
    
          leaf total-neighbors-with-pending-postits {
            type uint32;
            description
              "Count of neighbors with postits pending";
          }
    
          leaf tep2p-auto-tunnel-enabled {
            type boolean;
            description
              "TE support for P2P auto tunnel";
          }
    
          list active-nsr-mode-enter-time {
            max-elements 26;
            description
              "Time that each mode was entered (seconds since
             
             Jan 1 1970)";
            leaf entry {
              type uint32;
              units "second";
              description
                "Time that each mode was entered (seconds since
               
               Jan 1 1970)";
            }
          }  // list active-nsr-mode-enter-time
    
          list standby-nsr-mode-enter-time {
            max-elements 7;
            description
              "Time that each mode was entered (seconds since
             
             Jan 1 1970)";
            leaf entry {
              type uint32;
              units "second";
              description
                "Time that each mode was entered (seconds since
               
               Jan 1 1970)";
            }
          }  // list standby-nsr-mode-enter-time
    
          list active-nsrfo-time {
            max-elements 10;
            description
              "Time that each thread isdone with its
             
             go-activeprocessing (seconds since Jan 1 1970)";
            leaf entry {
              type uint32;
              units "second";
              description
                "Time that each thread isdone with its
               
               go-activeprocessing (seconds since Jan 1 1970)";
            }
          }  // list active-nsrfo-time
    
          list postit-count-info {
            description
              "List of neighbors and their postit counts";
            uses BGP-POSTIT-COUNT-INFO;
          }  // list postit-count-info
    
          list issu-milestone {
            description "ISSU Milestones";
            uses BGP-ISSU-MILESTONE-BAG;
          }  // list issu-milestone
        }  // grouping BGP-PERF-PROCESS-GBL
    
        grouping BGP-PERF-PROCESS {
          description "BGP PERF PROCESS";
          container global {
            description "Global information";
            uses BGP-PERF-PROCESS-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-PERF-PROCESS-VRF;
          }  // container vrf
        }  // grouping BGP-PERF-PROCESS
    
        grouping BGP-PROCESS-INFO-VRF {
          description "BGP PROCESS INFO VRF";
          leaf neighbors-count {
            type uint32;
            description "Number of neighbors";
          }
    
          leaf established-neighbors-count {
            type uint32;
            description
              "Number of established neighbors";
          }
    
          leaf update-messages-received {
            type uint32;
            description
              "Count of BGP update messages received";
          }
    
          leaf update-messages-sent {
            type uint32;
            description
              "Count of BGP update messages sent";
          }
    
          leaf notifications-received {
            type uint32;
            description
              "Number of BGP notifications received";
          }
    
          leaf notifications-sent {
            type uint32;
            description
              "Number of BGP notifications sent";
          }
    
          leaf network-count {
            type uint32;
            description "Number of networks";
          }
    
          leaf path-count {
            type uint32;
            description "Number of paths";
          }
        }  // grouping BGP-PROCESS-INFO-VRF
    
        grouping BGP-PROCESS-INFO-GBL {
          description "BGP PROCESS INFO GBL";
          leaf process-instance-node {
            type string;
            description
              "Node the process instance is on";
          }
    
          leaf restart-count {
            type uint32;
            description
              "No. of times BGP has started";
          }
    
          leaf path-attributes-entry-count {
            type uint32;
            description
              "No. of path attribute entries";
          }
    
          leaf path-attribute-memory {
            type uint32;
            units "byte";
            description
              "Memory (bytes) used by path attribute entries";
          }
    
          leaf as-path-entry-count {
            type uint32;
            description
              "Number of AS-path entries";
          }
    
          leaf as-path-entries-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by AS-path entries";
          }
    
          leaf community-entry-count {
            type uint32;
            description
              "Number of community entries";
          }
    
          leaf community-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by community entries";
          }
    
          leaf extended-community-entry-count {
            type uint32;
            description
              "Number of extended community entries";
          }
    
          leaf extended-community-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by extended community
             entries";
          }
    
          leaf pe-distinguisher-label-entry-count {
            type uint32;
            description
              "Number of PE distinguisher label entries";
          }
    
          leaf pe-distinguisher-label-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by PE distinguisher
             labels entries";
          }
    
          leaf pta-entry-count {
            type uint32;
            description "Number of PTA entries";
          }
    
          leaf pta-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by PTA entries";
          }
    
          leaf tunnel-encap-entry-count {
            type uint32;
            description
              "Number of Tunnel encap entries";
          }
    
          leaf tunnel-encap-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by tunnel encap entries";
          }
    
          leaf ribrnh-entry-count {
            type uint32;
            description
              "Number of RIBRNH entries";
          }
    
          leaf ribrnh-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by RIBRNH entries";
          }
    
          leaf ppmp-entry-count {
            type uint32;
            description "Number of PPMP entries";
          }
    
          leaf ppmp-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by PPMP entries";
          }
    
          leaf route-reflectors {
            type uint32;
            description
              "Number of route reflector info entries";
          }
    
          leaf route-reflector-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by route reflector info
             entries";
          }
    
          leaf nexthop-count {
            type uint32;
            description
              "Number of nexthop attribute info entries";
          }
    
          leaf nexthop-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by nexthop attribute info
             entries";
          }
    
          leaf lsattr-entry-count {
            type uint32;
            description
              "Number of LASATTR entries";
          }
    
          leaf lsattr-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by LSATTR entries";
          }
    
          leaf attr-set-entry-count {
            type uint32;
            description
              "Number of ATTRSET entries";
          }
    
          leaf attr-set-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by ATTRSET entries";
          }
    
          leaf prefix-sid-label-index-count {
            type uint32;
            description
              "Number of Prefix-SID LabelIndex entries";
          }
    
          leaf prefix-sid-label-index-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by Prefix-SID LabelIndex
             entries";
          }
    
          leaf prefix-sid-orig-srgb-count {
            type uint32;
            description
              "Number of Prefix-SID OrigSRGB entries";
          }
    
          leaf prefix-sid-orig-srgb-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by Prefix-SID OrigSRGB
             entries";
          }
    
          leaf prefix-sid-srv6-layer3-svc-count {
            type uint32;
            description
              "Number of Prefix-SID SRv6L3SVC entries";
          }
    
          leaf prefix-sid-srv6-layer3-svc-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by Prefix-SID SRv6L3SVC
             entries";
          }
    
          leaf prefix-sid-srv6-layer2-svc-count {
            type uint32;
            description
              "Number of Prefix-SID SRv6L2SVC entries";
          }
    
          leaf prefix-sid-srv6-layer2-svc-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by Prefix-SID SRv6L2SVC
             entries";
          }
    
          leaf prefix-sid-unk-tl-vs-count {
            type uint32;
            description
              "Number of Prefix-SID UnkTLVs entries";
          }
    
          leaf prefix-sid-unk-tl-vs-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by Prefix-SID UnkTLVs
             entries";
          }
    
          leaf local-as {
            type uint32;
            description
              "Local autonomous system number";
          }
    
          leaf total-vrf-count {
            type uint32;
            description "Total count of VRFs";
          }
    
          leaf neighbors-count-total {
            type uint32;
            description
              "Total number of neighbors";
          }
    
          leaf established-neighbors-count-total {
            type uint32;
            description
              "Total number of neighbors in established state";
          }
    
          leaf sn-num-non-dflt-vrf-nbrs {
            type uint32;
            description
              "Number of neighbors in all non-default VRFs";
          }
    
          leaf sn-num-non-dflt-vrf-nbrs-estab {
            type uint32;
            description
              "Number of established neighbors in all
             non-default VRFs";
          }
    
          leaf large-community-entry-count {
            type uint32;
            description
              "Number of large community entries";
          }
    
          leaf large-community-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by large community
             entries";
          }
    
          list pool-size {
            max-elements 15;
            description
              "BGP process maximum pool size";
            leaf entry {
              type uint32;
              description
                "BGP process maximum pool size";
            }
          }  // list pool-size
    
          list pool-alloc-count {
            max-elements 15;
            description
              "Number of bytes of memory forpool allocation";
            leaf entry {
              type uint32;
              units "byte";
              description
                "Number of bytes of memory forpool allocation";
            }
          }  // list pool-alloc-count
    
          list pool-free-count {
            max-elements 15;
            description
              "Number of bytes of memory freedin pool";
            leaf entry {
              type uint32;
              units "byte";
              description
                "Number of bytes of memory freedin pool";
            }
          }  // list pool-free-count
    
          list msg-log-pool-size {
            max-elements 5;
            description
              "Number of messages present in pool";
            leaf entry {
              type uint32;
              description
                "Number of messages present in pool";
            }
          }  // list msg-log-pool-size
    
          list msg-log-pool-alloc-count {
            max-elements 5;
            description
              "Number of messages poolallocation memory";
            leaf entry {
              type uint32;
              description
                "Number of messages poolallocation memory";
            }
          }  // list msg-log-pool-alloc-count
    
          list msg-log-pool-free-count {
            max-elements 5;
            description
              "Number of messages log freedfrom pool";
            leaf entry {
              type uint32;
              description
                "Number of messages log freedfrom pool";
            }
          }  // list msg-log-pool-free-count
    
          list bmp-pool-size {
            max-elements 20;
            description
              "BGP monitoring protocol (BMP) pool size";
            leaf entry {
              type uint32;
              description
                "BGP monitoring protocol (BMP) pool size";
            }
          }  // list bmp-pool-size
    
          list bmp-pool-alloc-count {
            max-elements 20;
            description
              "Number of bytes of memoryallocated for BGP
             
             monitoringprotocol pool";
            leaf entry {
              type uint32;
              units "byte";
              description
                "Number of bytes of memoryallocated for BGP
               
               monitoringprotocol pool";
            }
          }  // list bmp-pool-alloc-count
    
          list bmp-pool-free-count {
            max-elements 20;
            description
              "Number of bytes of memory freedfrom pool";
            leaf entry {
              type uint32;
              units "byte";
              description
                "Number of bytes of memory freedfrom pool";
            }
          }  // list bmp-pool-free-count
        }  // grouping BGP-PROCESS-INFO-GBL
    
        grouping BGP-PROCESS-INFO-BAG {
          description "BGP Process information";
          container global {
            description "Global information";
            uses BGP-PROCESS-INFO-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-PROCESS-INFO-VRF;
          }  // container vrf
    
          container performance-statistics {
            description
              "BGP process informationperformance statistics";
            uses BGP-PERF-PROCESS;
          }  // container performance-statistics
    
          leaf process-instance {
            type uint8;
            description
              "ID for the BGP process instance";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf vrf-totals {
            type boolean;
            description
              "per VRF counts aggregated across all VRFs";
          }
        }  // grouping BGP-PROCESS-INFO-BAG
    
        grouping BGP-BMP-NBR-BAG {
          description "BMP per Neighbor Details";
          container bmp-neighbor-address {
            description
              "Address of Nbr that logs to BMP server";
            uses BGP-ADDRTYPE;
          }  // container bmp-neighbor-address
    
          leaf bmp-neighbor-msg-pending {
            type uint32;
            description
              "Number of messages pending to be sent to BMP
             Server from this Neighbor";
          }
    
          leaf bmp-neighbor-msg-dropped {
            type uint32;
            description
              "Number of messages dropped sent from this
             neighbor";
          }
    
          leaf bmp-neighbor-peer-up-sent {
            type uint32;
            description
              "Number of Peer UP Messages sent from this
             neighbor";
          }
    
          leaf bmp-neighbor-peer-down-sent {
            type uint32;
            description
              "Number of Peer DOWN Messages sent from this
             neighbor";
          }
    
          leaf bmp-neighbor-route-monitor-sent {
            type uint32;
            description
              "Number of Route Monitor Messages sent";
          }
    
          leaf bmp-neighbor-route-monitor-eor-sent {
            type uint32;
            description
              "Number of Route Monitor EOR Messages sent";
          }
    
          leaf bmp-neighbor-path-update-sent {
            type uint32;
            description
              "Number of Path UpdateMessages sent";
          }
    
          leaf bmp-neighbor-path-withdraw-sent {
            type uint32;
            description
              "Number of Path WithdrawMessages sent";
          }
    
          leaf bmp-neighbor-path-update-drop {
            type uint32;
            description
              "Number of path update drop ";
          }
    
          leaf bmp-neighbor-path-withdraw-drop {
            type uint32;
            description
              "Number of path wdraw drop ";
          }
    
          leaf bmp-neighbor-upd-msg-sent {
            type uint32;
            description
              "Number of update message sent";
          }
    
          leaf bmp-neighbor-wdraw-msg-sent {
            type uint32;
            description
              "Number of withdraw message sent";
          }
        }  // grouping BGP-BMP-NBR-BAG
    
        grouping BGP-BMP-SRVR-AFI {
          description "BMP AFI Server Details";
          container bmp-resume-prefix {
            description "BMP Resume prefix";
            uses BGP-PREFIXTYPE;
          }  // container bmp-resume-prefix
    
          container bmp-filter-neighbor-address {
            description
              "Filter Neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container bmp-filter-neighbor-address
    
          leaf bmpaf-name {
            type Bgp-afi;
            description
              "BMP Address family identifier";
          }
    
          leaf bmp-resume-prefix-len {
            type uint32;
            description "BMP Resume prefix Len";
          }
    
          leaf bmp-upd-gen-resume-start-version {
            type uint32;
            description
              "Update Gen ResumeWalk start version";
          }
    
          leaf bmp-upd-gen-resume-end-version {
            type uint32;
            description
              "Update Gen ResumeWalk end version";
          }
    
          leaf bmp-upd-gen-walk-stopped {
            type boolean;
            description "Update Gen WalkStopped";
          }
    
          leaf bmp-upd-gen-resume-net-version {
            type uint32;
            description
              "Update Gen ResumeWalk Net version";
          }
    
          leaf bmp-upd-gen-walk-run-time-stamp {
            type uint64;
            description
              "Last Update Gen Run time stamp";
          }
    
          leaf bmp-upd-gen-walk-run-count {
            type uint64;
            description
              "Number of times Update Gen ran";
          }
    
          leaf bmp-upd-gen-walk-stop-time-stamp {
            type uint64;
            description
              "Last Update Gen Stop time stamp";
          }
    
          leaf bmp-upd-gen-walk-stop-count {
            type uint64;
            description
              "Number of times Update Gen Stopped";
          }
    
          leaf bmp-init-eor-end-version {
            type uint32;
            description
              "Version to reach to send EOR";
          }
    
          leaf bmp-init-eor-pending-cnt {
            type uint32;
            description "Count for pending EOR";
          }
    
          leaf bmp-filter-neighbor-address-set {
            type boolean;
            description
              "Filter Neighbor Address Set ?";
          }
    
          leaf bmp-filter-nbr-cnt {
            type uint32;
            description
              "Filter nbr Count for this AFI";
          }
    
          leaf bmp-send-version {
            type uint32;
            description
              "Table Version that this BMP server has caught
             upto";
          }
        }  // grouping BGP-BMP-SRVR-AFI
    
        grouping BGP-BMP-SRVR-BAG {
          description "BMP Server Details";
          container bmp-server-state-age {
            description
              "Age of current state of BMP Server";
            uses BGP-TIMESPEC;
          }  // container bmp-server-state-age
    
          container bmp-server-state-time-spec {
            description
              "Timespec of current state of BMP Server";
            uses BGP-TIMESPEC;
          }  // container bmp-server-state-time-spec
    
          container bmp-server-last-discon-time {
            description
              "Timespec of Last Disconnect event received from
             BMP server";
            uses BGP-TIMESPEC;
          }  // container bmp-server-last-discon-time
    
          container update-source-address {
            description
              "Address of Interface configured as Update Source";
            uses BGP-ADDRTYPE;
          }  // container update-source-address
    
          leaf bmp-server-id {
            type uint8;
            description "BMP Server ID";
          }
    
          leaf bmp-server-host-name {
            type string;
            description "BMP Server Hostname";
          }
    
          leaf bmp-server-port {
            type uint32;
            description "BMP Server Port Number";
          }
    
          leaf bmp-server-state {
            type Bgp-bmp-state;
            description
              "Connection state of the BMP server";
          }
    
          leaf bmp-server-is-flapping {
            type boolean;
            description
              "Connection to the BMP server Flapping";
          }
    
          leaf bmp-server-nbr-count {
            type uint32;
            description
              "Neighbor count for the BMP Server";
          }
    
          leaf bmp-init-msg-count {
            type uint32;
            description
              "Number of Initiation Msgs sent by this BMP
             Server";
          }
    
          leaf bmp-termination-msg-count {
            type uint32;
            description
              "Number of Termination Messages sent by this BMP
             Server";
          }
    
          leaf bmp-status-report-count {
            type uint32;
            description
              "Number of Status ReportMessages sent by this BMP
             Server";
          }
    
          leaf bmp-per-peer-msg-count {
            type uint32;
            description
              "Total number of per peer messages sent";
          }
    
          leaf bmp-peer-msg-drop-count {
            type uint32;
            description
              "Total number of messages dropped";
          }
    
          leaf bmp-peer-msg-pending-count {
            type uint32;
            description
              "Total number of bmpQ msgs pending";
          }
    
          leaf tos-type {
            type uint8;
            description
              "Precedence (0) or DSCP (1) type";
          }
    
          leaf tos-value {
            type uint8;
            description
              "Precedence or DSCP value";
          }
    
          leaf update-source-interface-name {
            type string;
            description
              "Interface configured as Update Source";
          }
    
          leaf update-source-vrf-id {
            type uint32;
            description
              "VRF ID of interface configured as Update Source";
          }
    
          leaf bmp-vrf-name {
            type string;
            description "VRF Name configured";
          }
    
          leaf bmp-vrf-id {
            type uint32;
            description
              "VRF ID for the vrf name configured";
          }
    
          leaf bmp-update-mode {
            type Bgp-bmp-upd-mode;
            description
              "Update sending mode configured for this BMP
             server";
          }
    
          leaf tcp-keep-alive-interval {
            type uint32;
            description
              "TCP Keep alive interval configured";
          }
    
          leaf tcp-maximum-segment-size {
            type uint32;
            description
              "TCP Maximum Segments size configured";
          }
    
          leaf tcp-write-cb-pending {
            type uint32;
            description
              "Are we waiting for TCP write callback ?";
          }
    
          leaf tcp-last-write-result {
            type uint32;
            description
              "Last TCP Socket write status";
          }
    
          leaf tcp-last-write-cb-time {
            type uint64;
            description "Last TCP Write CB time";
          }
    
          leaf tcp-last-write-time {
            type uint64;
            description "Last TCP Write time";
          }
    
          leaf bmpq-last-write-pulse-sent-time {
            type uint64;
            description
              "Last BMPQ write pulse Sent time";
          }
    
          leaf bmpq-last-all-write-pulse-sent-time {
            type uint64;
            description
              "Last BMPQ write pulse Sent for all BMP servers ";
          }
    
          leaf bmpq-last-write-pulse-cb-time {
            type uint64;
            description
              "Last BMPQ write pulse callback time";
          }
    
          leaf path-update-count {
            type uint32;
            description
              "Number of path update sent ";
          }
    
          leaf path-withdraw-count {
            type uint32;
            description
              "Number of path wdraw sent";
          }
    
          leaf path-update-drop {
            type uint32;
            description
              "Number of path update drop ";
          }
    
          leaf path-withdraw-drop {
            type uint32;
            description
              "Number of path wdraw drop ";
          }
    
          leaf bmp-peer-msg-pending-count-max {
            type uint32;
            description
              "Total bmpQ msgs pending max";
          }
    
          leaf bmp-peer-msg-pending-count-hwts {
            type uint64;
            description
              "Total bmpQ msgs pending max time";
          }
    
          leaf bmp-bytes-written-tcp {
            type uint64;
            units "byte";
            description
              "Total bytes sent to TCP";
          }
    
          leaf tcp-write-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing sending msg to
             TCP(milliseconds)";
          }
    
          leaf bmpr-mon-upd-messages {
            type uint32;
            description
              "Total bmpQ update msgs ";
          }
    
          leaf bmpr-mon-wdraw-messages {
            type uint32;
            description
              "Total bmpQ withdraw msgs ";
          }
    
          leaf bmp-messages-wdraw-discarded {
            type uint32;
            description
              "Total bmpQ wdraw msgs discarded because of peer
             down";
          }
    
          leaf bmp-pfx-wdraw-discarded {
            type uint32;
            description
              "Total bmpQ wdraw pfxes discarded because of peer
             down";
          }
    
          leaf bmp-per-peer-msg-route-mon-count {
            type uint32;
            description
              "Total number of per peer route mon messages sent";
          }
    
          leaf bmpr-mon-update-gen-time {
            type uint32;
            units "millisecond";
            description
              "Time spent in update generation(milliseconds)";
          }
    
          leaf bmpr-mon-eo-rmessages {
            type uint32;
            description
              "Total bmpQ EOR update msgs ";
          }
    
          leaf bmp-rmon-cur-buffer-size {
            type uint64;
            description
              "Current Buffer usage per BMP Route Mon";
          }
    
          leaf bmp-maximum-buffer-size-route-mon {
            type uint64;
            description
              "Buffer limit used for route mon";
          }
    
          leaf bmp-server-up-count {
            type uint32;
            description
              "Number of BMP server that are UP";
          }
    
          leaf bmp-upd-gen-in-progress {
            type boolean;
            description
              "Update generation in progress";
          }
    
          leaf bmp-reset-walk-in-progress {
            type boolean;
            description
              "Flag to indicate if BGP monitoring protocol
             server reset walk is in progress";
          }
    
          list bmpafi-info {
            description
              "AFI specific info for BMP server";
            uses BGP-BMP-SRVR-AFI;
          }  // list bmpafi-info
        }  // grouping BGP-BMP-SRVR-BAG
    
        grouping BGP-UPDFILTER-ELEM-BAG {
          description
            "BGP Update filtering element information";
          leaf update-attribute-flags {
            type uint8;
            description
              "Attribute Flags [RFC4271: BGP4]";
          }
    
          leaf update-attribute-code {
            type uint8;
            description
              "Attribute code [RFC4271: BGP4]";
          }
    
          leaf update-filter-action {
            type Bgp-bag-upd-filter-action;
            description "Filtering action";
          }
        }  // grouping BGP-UPDFILTER-ELEM-BAG
    
        grouping BGP-UPDFILTER-MSG-BAG {
          description
            "BGP Update filter message information";
          container update-filter-message-timestamp {
            description
              "Message timestamp: time elapsed since 00:00:00
             UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container update-filter-message-timestamp
    
          leaf update-filtered-attribute-count {
            type uint32;
            description
              "Total number of attributes filtered in
             thismessage";
          }
    
          leaf update-filter-final-action {
            type Bgp-bag-upd-filter-action;
            description "Filtering final action";
          }
    
          leaf update-filter-nlri-address-family {
            type Bgp-afi;
            description "NLRI address-family";
          }
    
          leaf update-filter-nlri-string {
            type string;
            description
              "List of NLRIs in string format";
          }
    
          leaf update-filter-nlri-string-truncated {
            type boolean;
            description
              "Indicates whether NLRI string was truncated due
             to lack of space";
          }
    
          list update-filter-message-data {
            description
              "Raw Message data in binary format";
            leaf entry {
              type uint8;
              description
                "Raw Message data in binary format";
            }
          }  // list update-filter-message-data
    
          list update-filter-element {
            max-elements 3;
            description "Filtering element list";
            uses BGP-UPDFILTER-ELEM-BAG;
          }  // list update-filter-element
        }  // grouping BGP-UPDFILTER-MSG-BAG
    
        grouping BGP-UPDFILTER-ATTRF-ATTR-BAG {
          description
            "BGP Update filtering attributes information";
          container last-update-filter-match-timestamp {
            description
              "Last attribute filtered time: time elapsed since
             00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-filter-match-timestamp
    
          leaf update-internal-attribute-code {
            type uint32;
            description
              "Internal attribute code [RFC4271: BGP4]";
          }
    
          leaf update-filter-action {
            type Bgp-bag-upd-filter-action;
            description "Filtering action";
          }
    
          leaf update-filter-match-count {
            type uint32;
            description "Filter match counter";
          }
    
          leaf establishment-update-filter-match-count {
            type uint32;
            description
              "Filter match counter since last session
             establishment";
          }
    
          leaf last-update-filter-match-age {
            type uint32;
            units "second";
            description
              "Time since this attribute was last filtered (in
             seconds)";
          }
        }  // grouping BGP-UPDFILTER-ATTRF-ATTR-BAG
    
        grouping BGP-UPDFILTER-NBR-BAG {
          description
            "BGP Update filtering Neighbor information";
          container update-neighbor-address {
            description "Neighbor address";
            uses BGP-ADDRTYPE;
          }  // container update-neighbor-address
    
          container first-update-filtered-timestamp {
            description
              "First filtered message received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container first-update-filtered-timestamp
    
          container last-update-filtered-timestamp {
            description
              "Last filtered message received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-filtered-timestamp
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-filter-logging-enabled {
            type boolean;
            description "Logging is enabled";
          }
    
          leaf configured-update-filter-message-buffer-count {
            type uint32;
            description
              "Total number of configured update filter
             messagebuffer size";
          }
    
          leaf operational-update-filter-message-buffer-count {
            type uint32;
            description
              "Number of messages in the message buffer";
          }
    
          leaf update-filter-message-buffer-circular {
            type boolean;
            description
              "Indicates if the message buffers are circular";
          }
    
          leaf update-attribute-filter-group-name {
            type string;
            description
              "String format BGP attribute-filter group name";
          }
    
          leaf operational-update-attribute-filtering-enabled {
            type boolean;
            description
              "Attribute filtering is enabled";
          }
    
          leaf message-update-attribute-filtering-enabled {
            type boolean;
            description
              "Attribute filtering is enabled for the current
             message being parsed";
          }
    
          leaf total-filter-update-message-count {
            type uint32;
            description
              "Total number of filtered messages encoutered";
          }
    
          leaf establishment-total-filter-update-message-count {
            type uint32;
            description
              "Total update messages count since session
             establishment";
          }
    
          leaf update-filtered-message-count {
            type uint32;
            description
              "Total number of filtered messages encountered so
             far";
          }
    
          leaf establishment-update-filtered-message-count {
            type uint32;
            description
              "Filtered messages count since session
             establishment";
          }
    
          leaf last-update-filtered-age {
            type uint32;
            units "second";
            description
              "Time since last filtered message received event
             (in seconds)";
          }
    
          leaf update-filter-message-list-count {
            type uint32;
            description
              "Filtered messages list count";
          }
    
          list update-attribute-filter-attributes {
            description
              "List of attributes that can be filtered";
            uses BGP-UPDFILTER-ATTRF-ATTR-BAG;
          }  // list update-attribute-filter-attributes
    
          list update-filter-message {
            description
              "List of filtered messages";
            uses BGP-UPDFILTER-MSG-BAG;
          }  // list update-filter-message
        }  // grouping BGP-UPDFILTER-NBR-BAG
    
        grouping BGP-UPDERR-ELEM-BAG {
          description
            "BGP Update error-handling element information";
          leaf update-attribute-flags {
            type uint8;
            description
              "Attribute Flags [RFC4271: BGP4]";
          }
    
          leaf update-attribute-code {
            type uint8;
            description
              "Attribute code [RFC4271: BGP4]";
          }
    
          leaf update-attribute-length {
            type uint16;
            description
              "Attribute Length [RFC4271: BGP4]";
          }
    
          leaf update-error-data {
            type yang:hex-string;
            description "Error data";
          }
    
          leaf update-error-data-length {
            type uint16;
            description "Error data length";
          }
    
          leaf update-error-action {
            type Bgp-bag-upd-err-action;
            description "Error action";
          }
        }  // grouping BGP-UPDERR-ELEM-BAG
    
        grouping BGP-UPDERR-RESET-DATA-BAG {
          description
            "BGP Update error-handling session reset
           information";
          leaf update-error-reset-reason {
            type Bgp-reset-reason-index;
            description "Reset Reason";
          }
    
          leaf update-error-reset-notification-code {
            type uint8;
            description "Notification code";
          }
    
          leaf update-error-reset-notification-sub-code {
            type uint16;
            description "Notification sub code";
          }
    
          leaf update-error-reset-notification-data {
            type yang:hex-string;
            description "Notification data";
          }
    
          leaf update-error-reset-notification-data-length {
            type uint16;
            description
              "Notification data length";
          }
        }  // grouping BGP-UPDERR-RESET-DATA-BAG
    
        grouping BGP-UPDERR-MSG-BAG {
          description
            "BGP Update error message information";
          container update-message-timestamp {
            description
              "Message timestamp: time elapsed since 00:00:00
             UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container update-message-timestamp
    
          container update-message-reset-data {
            description "Reset data";
            uses BGP-UPDERR-RESET-DATA-BAG;
          }  // container update-message-reset-data
    
          leaf update-error-final-action {
            type Bgp-bag-upd-err-action;
            description "Error final action";
          }
    
          leaf update-attribute-discard-count {
            type uint32;
            description
              "Discarded attribute count";
          }
    
          leaf update-error-nlri-address-family {
            type Bgp-afi;
            description "NLRI address-family";
          }
    
          leaf update-error-nlri-string {
            type string;
            description
              "List of NLRIs in string format";
          }
    
          leaf update-error-nlri-string-truncated {
            type boolean;
            description
              "Indicates whether NLRI string was truncated due
             to lack of space";
          }
    
          list update-message-data {
            description
              "Raw Message data in binary format";
            leaf entry {
              type uint8;
              description
                "Raw Message data in binary format";
            }
          }  // list update-message-data
    
          list update-error-element {
            max-elements 3;
            description "Error element list";
            uses BGP-UPDERR-ELEM-BAG;
          }  // list update-error-element
        }  // grouping BGP-UPDERR-MSG-BAG
    
        grouping BGP-UPDERR-NBR-BAG {
          description
            "BGP Update error-handling Neighbor information";
          container update-neighbor-address {
            description "Neighbor address";
            uses BGP-ADDRTYPE;
          }  // container update-neighbor-address
    
          container first-update-malformed-timestamp {
            description
              "First malformed message received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container first-update-malformed-timestamp
    
          container last-update-malformed-timestamp {
            description
              "Last malformed message received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-malformed-timestamp
    
          container first-update-memory-allocation-fail-timestamp {
            description
              "First memory allocation failure time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container first-update-memory-allocation-fail-timestamp
    
          container last-update-memory-allocation-fail-timestamp {
            description
              "Last memory allocation failure time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-memory-allocation-fail-timestamp
    
          container first-update-error-handling-reset-timestamp {
            description
              "First error-handling reset time: time elapsed
             since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container first-update-error-handling-reset-timestamp
    
          container last-error-handling-reset-timestamp {
            description
              "Last error-handling reset time: time elapsed
             since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-error-handling-reset-timestamp
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-error-handling-avoid-reset {
            type boolean;
            description
              "Configure error-handling to avoid resets";
          }
    
          leaf total-update-message-count {
            type uint32;
            description
              "The total number of update messages encoutered
             so far";
          }
    
          leaf update-malformed-message-count {
            type uint32;
            description
              "The toatl number of malform update messages so
             far";
          }
    
          leaf last-update-malformed-age {
            type uint32;
            units "second";
            description
              "Time since last malformed message received event
             (in seconds)";
          }
    
          leaf update-memory-allocation-fail-count {
            type uint32;
            description
              "Total number of memory allocation failures";
          }
    
          leaf last-update-memory-allocation-fail-age {
            type uint32;
            units "second";
            description
              "Time since last memory allocation failure event
             (in seconds)";
          }
    
          leaf update-error-handling-reset-count {
            type uint32;
            description
              "Total number of neighbor reset due to
             error-handling";
          }
    
          leaf last-error-handling-reset-age {
            type uint32;
            units "second";
            description
              "Time since last error-handling reset event (in
             seconds)";
          }
    
          leaf update-error-message-list-count {
            type uint32;
            description
              "Malformed messages list count";
          }
    
          leaf update-attribute-discard-count {
            type uint32;
            description
              "Discarded attribute count";
          }
    
          leaf establishment-total-update-message-count {
            type uint32;
            description
              "Total update messages count since session
             establishment";
          }
    
          list establishment-action-count {
            max-elements 7;
            description
              "Number of occurence of each action type since
             
             session establishment";
            leaf entry {
              type uint32;
              description
                "Number of occurence of each action type since
               
               session establishment";
            }
          }  // list establishment-action-count
    
          list update-error-message {
            description
              "List of malformed messages";
            uses BGP-UPDERR-MSG-BAG;
          }  // list update-error-message
        }  // grouping BGP-UPDERR-NBR-BAG
    
        grouping BGP-GLOBAL-PROCESS-INFO-VRF {
          description
            "BGP GLOBAL PROCESS INFO VRF";
          leaf vrf-is-active {
            type boolean;
            description "VRF state";
          }
    
          leaf route-distinguisher {
            type yang:hex-string;
            description
              "BGP global process route distinguisher";
          }
    
          leaf router-id {
            type inet:ipv4-address;
            description "Router ID for the VRF";
          }
    
          leaf configured-router-id {
            type inet:ipv4-address;
            description
              "BGP global process configured router ID";
          }
    
          leaf is-redistribute-ibgp-to-ig-ps-enabled {
            type boolean;
            description
              "Redistribute iBGP into IGPs enabled";
          }
    
          leaf is-fast-external-fallover-enabled {
            type boolean;
            description
              "Flag to indicate if fast external fallover is
             enabled";
          }
    
          leaf is-bestpath-missing-med-is-worst-enabled {
            type boolean;
            description
              "Bestpath: Treat missing MED as worst";
          }
    
          leaf is-bestpath-always-compare-med-enabled {
            type boolean;
            description
              "Bestpath: Always compare MED";
          }
    
          leaf is-bestpath-ignore-as-path-enabled {
            type boolean;
            description
              "Bestpath: Ignore AS path";
          }
    
          leaf is-bestpath-as-path-mpath-relax-enabled {
            type boolean;
            description
              "Bestpath: Relax AS path for mpath";
          }
    
          leaf is-bestpath-compare-med-from-confed-peer-enabled {
            type boolean;
            description
              "Bestpath: Compare MED from confed peer";
          }
    
          leaf is-bestpath-compare-router-id-for-ebgp-peers-enabled {
            type boolean;
            description
              "Bestpath: Compare routerID for eBGP peers";
          }
    
          leaf is-bestpath-aigp-ignore-enabled {
            type boolean;
            description
              "Bestpath: Ignore AIGP unless both paths have
             AIGP attribute";
          }
    
          leaf is-bestpath-igp-metric-ignore-enabled {
            type boolean;
            description
              "Bestpath: Ignore IGP metric";
          }
    
          leaf is-bestpath-igp-metric-sr-policy-enabled {
            type boolean;
            description
              "Bestpath: Prefer SR-Policy admin/metric of
             color-extcomm Nexthop as IGP metric";
          }
    
          leaf is-multipath-as-path-ignore-onwards-enabled {
            type boolean;
            description
              "Multipath: Ignore everything AS path onwards for
             mpath";
          }
    
          leaf is-multipath-section-use-cluster-list-length {
            type boolean;
            description
              "Multipath: Use Cluster-List Length Criteria";
          }
    
          leaf is-bestpath-sr-policy-prefer-enabled {
            type boolean;
            description
              "Bestpath: Pefer SR policy path";
          }
    
          leaf is-enforce-first-as-enabled {
            type boolean;
            description "Enforce first AS";
          }
    
          leaf default-local-preference {
            type uint32;
            description
              "BGP global process default local preference";
          }
    
          leaf keep-alive-time {
            type uint16;
            units "second";
            description
              "Default keepalive timer (seconds)";
          }
    
          leaf hold-time {
            type uint16;
            units "second";
            description
              "Default hold timer (seconds)";
          }
    
          leaf min-acceptable-hold-time {
            type uint16;
            units "second";
            description
              "Default min acceptable hold time from
             neighbor(seconds)";
          }
    
          leaf is-neighbor-logging {
            type boolean;
            description
              "Neighbor logging enabled";
          }
    
          leaf is-default-metric-configured {
            type boolean;
            description
              "Flag to indicate if default metric is configured";
          }
    
          leaf default-metric {
            type uint32;
            description
              "BGP global process virtual routingand forwarding
             default metric";
          }
    
          leaf is-default-originate-configured {
            type boolean;
            description
              "Flag to indicate if default route originate is
             configured";
          }
    
          leaf is-graceful-restart {
            type boolean;
            description
              "Graceful restart enabled";
          }
    
          leaf is-nsr {
            type boolean;
            description
              "Non-stop routing enabled";
          }
    
          leaf slow-peer-detection-enabled {
            type boolean;
            description
              "Slow peer detection status";
          }
    
          leaf nexthop-validation-disabled {
            type boolean;
            description
              "Color-Extcomm Nexthop validation disabled";
          }
    
          leaf nexthop-validation-srte {
            type boolean;
            description
              "Color-Extcomm Nexthop validation SR-Policy";
          }
    
          leaf restart-time {
            type uint32;
            units "second";
            description
              "Restart time (in seconds)";
          }
    
          leaf stale-path-time {
            type uint32;
            units "second";
            description
              "Stale path timeout time (in seconds)";
          }
    
          leaf rib-purge-timeout {
            type uint32;
            units "second";
            description
              "RIB purge timeout time (in seconds)";
          }
    
          leaf rpki-use-validity {
            type boolean;
            description
              "Use RPKI validity for bestpath calculation";
          }
    
          leaf rpki-allow-invalid {
            type boolean;
            description "Allow invalid paths";
          }
    
          leaf rpki-signal-ibgp {
            type boolean;
            description
              "Signal RPKI validity to iBGP peers";
          }
        }  // grouping BGP-GLOBAL-PROCESS-INFO-VRF
    
        grouping COLOR-ID-BAG {
          description "COLOR ID BAG";
          leaf color-id-val {
            type uint32;
            description "Color ID ";
          }
        }  // grouping COLOR-ID-BAG
    
        grouping CLUSTER-ID-BAG {
          description "CLUSTER ID BAG";
          leaf cluster-id-val {
            type uint32;
            description "Cluster ID ";
          }
    
          leaf cluster-id-type {
            type uint8;
            description
              "Cluster ID type: number or IPv4 address";
          }
        }  // grouping CLUSTER-ID-BAG
    
        grouping BGP-GLOBAL-PROCESS-INFO-GBL {
          description
            "BGP GLOBAL PROCESS INFO GBL";
          container gshut-nbr-all-ts {
            description
              "BGP gshut nbr all timestamp";
            uses BGP-TIMESPEC;
          }  // container gshut-nbr-all-ts
    
          container gshut-nbr-all-age {
            description "BGP gshut nbr all age";
            uses BGP-TIMESPEC;
          }  // container gshut-nbr-all-age
    
          leaf in-standalone-mode {
            type boolean;
            description
              "Standalone or Distributed mode";
          }
    
          leaf local-as {
            type uint32;
            description
              "Local autonomous system number";
          }
    
          leaf instance-name {
            type string;
            description "Name of BGP instance";
          }
    
          leaf restart-count {
            type uint32;
            description
              "No of times BGP has started";
          }
    
          leaf update-delay {
            type uint32;
            units "second";
            description
              "Update delay timeout time (in seconds)";
          }
    
          leaf generic-scan-period {
            type uint16;
            units "second";
            description
              "Period (in seconds) of generic scanner runs";
          }
    
          leaf confederation-id {
            type uint32;
            description
              "BGP global process confederation ID";
          }
    
          leaf cluster-id {
            type uint32;
            description "Cluster ID";
          }
    
          leaf configured-cluster-id {
            type uint32;
            description
              "BGP global process configuredcluster ID";
          }
    
          leaf is-cluster-id-specified-as-ip {
            type boolean;
            description
              "Cluster ID specified as an IP address";
          }
    
          leaf asn-format {
            type uint32;
            description "BGP AS Number Format";
          }
    
          leaf srgb-start-configured {
            type uint32;
            description
              "Configured segment-routing Global Block start
             value";
          }
    
          leaf srgb-end-configured {
            type uint32;
            description
              "Configured segment-routing Global Block end
             value";
          }
    
          leaf srgb-start {
            type uint32;
            description
              "In use segment-routing Global Block start value";
          }
    
          leaf srgb-end {
            type uint32;
            description
              "In use Segment-routing Global Block end value";
          }
    
          leaf srlb-start-configured {
            type uint32;
            description
              "Configured segment-routing Local Block start
             value";
          }
    
          leaf srlb-end-configured {
            type uint32;
            description
              "Configured segment-routing Local Block end value";
          }
    
          leaf srlb-start {
            type uint32;
            description
              "In use segment-routing Local Block start value";
          }
    
          leaf srlb-end {
            type uint32;
            description
              "In use Segment-routing Local Block end value";
          }
    
          leaf mix-srte-native {
            type boolean;
            description
              "Platform support mix of SR-TE and Native IGP
             Nexthop";
          }
    
          leaf graceful-maintenance {
            type boolean;
            description
              "Graceful shutdown activated for allneighbors";
          }
    
          leaf graceful-maint-all-nbrs {
            type boolean;
            description
              "Graceful Maintenance also for neighbors without
             GM configuration";
          }
    
          leaf graceful-maint-retain-routes {
            type boolean;
            description
              "Retaining routes in RIB when BGP process stops
             while in Graceful Maintenance";
          }
    
          leaf process-rlimit {
            type uint64;
            description
              "Platform RLIMIT max for the process";
          }
    
          leaf bmp-maximum-buffer-size {
            type uint64;
            description
              "Maximum limit user can configure for
             max-buffer-size command under bmp-server";
          }
    
          leaf bmp-default-buffer-size {
            type uint64;
            description
              "Default value for BMP buffer limit when a value
             is not configured";
          }
    
          leaf bmp-current-buffer-size {
            type uint64;
            description
              "Current value for BMP buffer ";
          }
    
          leaf bmp-cur-maximum-buffer-size {
            type uint64;
            description
              "Maximum limit user has configure using
             max-buffer-size command under bmp-server";
          }
    
          leaf gbl-srv6-locator {
            type string;
            description
              "Global Srv6 Locator Name";
          }
    
          list cluster-id-entry {
            description
              "All configured Cluster IDs";
            uses CLUSTER-ID-BAG;
          }  // list cluster-id-entry
    
          list color-id {
            description
              "All configured Color IDs";
            uses COLOR-ID-BAG;
          }  // list color-id
        }  // grouping BGP-GLOBAL-PROCESS-INFO-GBL
    
        grouping BGP-GLOBAL-PROCESS-INFO-BAG {
          description
            "BGP process information common to all BGP
           processes";
          container global {
            description "Global information";
            uses BGP-GLOBAL-PROCESS-INFO-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-GLOBAL-PROCESS-INFO-VRF;
          }  // container vrf
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf vrfid {
            type uint32;
            description "VRF ID";
          }
        }  // grouping BGP-GLOBAL-PROCESS-INFO-BAG
    
        grouping BGP-POSTIT-INFO {
          description "BGP POSTIT INFO";
          container postit-notification {
            description
              "Time since last notification was sent or
             received";
            uses BGP-NOTFNTYPE;
          }  // container postit-notification
    
          leaf postit-type {
            type uint32;
            description
              "Type of the event for post-it";
          }
    
          leaf postit-subtype {
            type uint32;
            description "BGP Postit Subtype";
          }
    
          leaf postit-flags {
            type uint8;
            description
              "Flags associated with post-it";
          }
    
          leaf postit-af-name {
            type Bgp-afi;
            description "Postit Afi";
          }
    
          leaf postit-ts {
            type uint64;
            description "Postit TS";
          }
    
          leaf postit-direction {
            type uint8;
            description
              "BGP postit inbound oroutbound direction";
          }
    
          leaf postit-id {
            type uint32;
            description "Postit ID";
          }
    
          leaf peer-id {
            type uint32;
            description "Peer ID";
          }
    
          leaf postit-policy {
            type string;
            description "Policy";
          }
    
          leaf postit-reset {
            type Bgp-reset-reason-index;
            description "Reset";
          }
        }  // grouping BGP-POSTIT-INFO
    
        grouping BGP-NEIGHBOR-NSR-BAG {
          description "BGP neighbor nsr bag";
          container neighbors-address {
            description "Neighbor Addr";
            uses BGP-ADDRTYPE;
          }  // container neighbors-address
    
          leaf vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf connect-state {
            type uint32;
            description "State";
          }
    
          leaf start-time {
            type uint32;
            description "StartTime";
          }
    
          leaf nsr-state {
            type Bgp-sync-nbr-nsr-state;
            description "NSR state";
          }
    
          list neighbor-af {
            min-elements 25;
            max-elements 25;
            description "Neighbor Afi";
            leaf entry {
              type boolean;
              description "Array entry.";
            }
          }  // list neighbor-af
    
          list postit-info {
            description
              "BGP neighbor postit rounting information";
            uses BGP-POSTIT-INFO;
          }  // list postit-info
        }  // grouping BGP-NEIGHBOR-NSR-BAG
    
        grouping BGP-UPDFILTER-VRF-BAG {
          description
            "BGP Update filtering VRF information";
          container last-update-filtered-timestamp {
            description
              "Last Filtered messages received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-filtered-timestamp
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-filtered-message-count {
            type uint32;
            description
              "Number of filtered messages";
          }
    
          leaf update-filtered-neighbor-count {
            type uint32;
            description
              "Count of neighbors that received filtered
             messages";
          }
    
          leaf last-update-filtered-age {
            type uint32;
            units "second";
            description
              "Time since last filtered messages received event
             (in seconds)";
          }
        }  // grouping BGP-UPDFILTER-VRF-BAG
    
        grouping BGP-VRF-INFO-BAG {
          description "BGP VRF information bag";
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "BGP virtual routing and forwardingroute
             distinguisher";
          }
        }  // grouping BGP-VRF-INFO-BAG
    
        grouping BGP-PFXLST {
          description "Prefix list entry";
          list bgp-pfxlst {
            description
              "Next entry in prefix list";
            container bgp-prefix {
              description "BGP prefix";
              uses BGP-PREFIXTYPE;
            }  // container bgp-prefix
    
            leaf sequence-number {
              type uint32;
              description
                "Sequence number of the entry in the prefix-list";
            }
    
            leaf is-prefix-grant {
              type boolean;
              description
                "TRUE = permit, FALSE = deny";
            }
    
            leaf min-prefix-length {
              type uint8;
              units "bit";
              description
                "Minimum prefix length in bits";
            }
    
            leaf max-prefix-length {
              type uint8;
              units "bit";
              description
                "Maximum prefix length in bits";
            }
          }  // list bgp-pfxlst
        }  // grouping BGP-PFXLST
    
        grouping BGP-RCV-PFXLST-BAG {
          description "Received prefix filter";
          container neighbor-address-xr {
            description "Neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address-xr
    
          container prefix-list-info {
            description "Prefix list";
            uses BGP-PFXLST;
          }  // container prefix-list-info
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identfier";
          }
        }  // grouping BGP-RCV-PFXLST-BAG
    
        grouping BGP-DEP-ENTRY-INFO {
          description "BGP DEP ENTRY INFO";
          leaf tblid {
            type uint32;
            description "Tbl Id ";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
        }  // grouping BGP-DEP-ENTRY-INFO
    
        grouping BGP-DEP-BAG {
          description "BGP SVD";
          list dep-entry-info {
            description
              "List of Dependency Tables ";
            uses BGP-DEP-ENTRY-INFO;
          }  // list dep-entry-info
        }  // grouping BGP-DEP-BAG
    
        grouping BGP-UPDGEN-AF-BAG {
          description
            "BGP Update generation address-family information";
          container update-statistics {
            description
              "BGP address-family statistics update";
            uses BGP-UPDGEN-STATS-BAG;
          }  // container update-statistics
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf update-main-table-version {
            type uint32;
            description "Main table version";
          }
    
          leaf update-rib-version {
            type uint32;
            description "RIB version";
          }
    
          leaf update-min-neighbor-version {
            type uint32;
            description
              "Minimum Neighbor version";
          }
    
          leaf current-update-limit-af {
            type uint32;
            description
              "BGP Current AF sub-group update limit";
          }
    
          leaf configured-update-limit-af {
            type uint32;
            units "byte";
            description
              "Update limit per address-family in bytes";
          }
    
          leaf current-update-limit-subgrp-ebgp {
            type uint32;
            description
              "Current EBGP sub-group update limit";
          }
    
          leaf configured-update-limit-subgrp-ebgp {
            type uint32;
            description
              "Configured EBGP sub-group update limit";
          }
    
          leaf current-update-limit-sub-group-ibgp {
            type uint32;
            description
              "Current IBGP sub-group update limit";
          }
    
          leaf configured-update-limit-sub-group-ibgp {
            type uint32;
            description
              "Configured IBGP sub-group update limit";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue messsages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue size";
          }
    
          leaf update-throttled {
            type boolean;
            description
              "Flag to indicate if update generation is
             currently throttled";
          }
    
          leaf update-update-group-count {
            type uint32;
            description "Update-group count";
          }
    
          leaf update-sub-group-count {
            type uint32;
            description "Sub-group count";
          }
    
          leaf sub-group-throttled-count {
            type uint32;
            description
              "Throttled sub-group count";
          }
    
          leaf refresh-sub-group-count {
            type uint32;
            description
              "Number of refresh sub groups";
          }
    
          leaf refresh-sub-group-throttled-count {
            type uint32;
            description
              "Throttled refresh sub-group count";
          }
    
          leaf filter-group-count {
            type uint32;
            description
              "Number of refresh filter groups";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "Number of neighbors in BGP";
          }
    
          leaf update-table-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-vrfaf-name {
            type uint32;
            description
              "Address family identifier";
          }
    
          leaf update-vrf-rd-version {
            type uint32;
            description "RD Version";
          }
    
          leaf update-vrf-table-rib-version {
            type uint32;
            description "VRF Table RIB version";
          }
    
          leaf table-update-group-count {
            type uint32;
            description
              "Number of virtual routing and forwarding table
             update groups";
          }
    
          leaf update-table-sub-group-count {
            type uint32;
            description
              "Number of virtual routing and forwarding table
             sub groups";
          }
    
          leaf table-sub-group-throttled-count {
            type uint32;
            description
              "VRF Table throttled sub-group count";
          }
    
          leaf table-refresh-sub-group-count {
            type uint32;
            description
              "Number of virtual routing and forwarding table
             refresh sub groups";
          }
    
          leaf table-refresh-sub-group-throttled-count {
            type uint32;
            description
              "VRF Table throttled refresh sub-group count";
          }
    
          leaf update-table-filter-group-count {
            type uint32;
            description
              "Number of virtual routing and forwarding table
             filter groups";
          }
    
          leaf table-neighbor-count {
            type uint32;
            description
              "Number of virtual routing and forwarding table
             neighbors";
          }
        }  // grouping BGP-UPDGEN-AF-BAG
    
        grouping BGP-UPDGEN-NBR-BAG {
          description
            "BGP Update generation Neighbor information";
          container update-neighbor-address {
            description "Neighbor address";
            uses BGP-ADDRTYPE;
          }  // container update-neighbor-address
    
          container last-sub-group-add-timestamp {
            description "Last added time";
            uses BGP-TIMESPEC;
          }  // container last-sub-group-add-timestamp
    
          container last-sub-group-remove-timestamp {
            description "Last removed time";
            uses BGP-TIMESPEC;
          }  // container last-sub-group-remove-timestamp
    
          container last-filter-group-add-timestamp {
            description "Last added time";
            uses BGP-TIMESPEC;
          }  // container last-filter-group-add-timestamp
    
          container last-filter-group-remove-timestamp {
            description "Last removed time";
            uses BGP-TIMESPEC;
          }  // container last-filter-group-remove-timestamp
    
          container first-default-originate-timestamp {
            description
              "Timestamp when the first default-origination was
             done";
            uses BGP-TIMESPEC;
          }  // container first-default-originate-timestamp
    
          container last-default-originate-timestamp {
            description
              "Timestamp when the last default-origination was
             done";
            uses BGP-TIMESPEC;
          }  // container last-default-originate-timestamp
    
          container last-update-group-start-timestamp {
            description
              "Last update-group timer start";
            uses BGP-TIMESPEC;
          }  // container last-update-group-start-timestamp
    
          container last-update-group-expiry-timestamp {
            description
              "Last update-group timer expiry";
            uses BGP-TIMESPEC;
          }  // container last-update-group-expiry-timestamp
    
          container first-update-queued-timestamp {
            description
              "Timestamp when the first update was queued";
            uses BGP-TIMESPEC;
          }  // container first-update-queued-timestamp
    
          container last-update-queued-timestamp {
            description
              "Timestamp when last update was queued";
            uses BGP-TIMESPEC;
          }  // container last-update-queued-timestamp
    
          container last-refresh-update-queued-timestamp {
            description
              "Timestamp when the last refresh update was
             queued";
            uses BGP-TIMESPEC;
          }  // container last-refresh-update-queued-timestamp
    
          container first-update-write-timestamp {
            description
              "Timestamp when the first update was written";
            uses BGP-TIMESPEC;
          }  // container first-update-write-timestamp
    
          container last-update-write-timestamp {
            description
              "Timestamp when the last update was  written";
            uses BGP-TIMESPEC;
          }  // container last-update-write-timestamp
    
          container last-refresh-update-write-timestamp {
            description
              "Timestamp when the last refresh update written";
            uses BGP-TIMESPEC;
          }  // container last-refresh-update-write-timestamp
    
          container update-statistics {
            description
              "BGP update generation statistics update";
            uses BGP-UPDGEN-STATS-BAG;
          }  // container update-statistics
    
          leaf process-id {
            type uint32;
            description "ProcessID";
          }
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf update-filter-group-index {
            type uint32;
            description "Filter-group index";
          }
    
          leaf refresh-filter-group-index {
            type uint32;
            description
              "BGP update generation refresh Filter-group index";
          }
    
          leaf sub-group-index-xr {
            type uint32;
            description
              "BGP update generation index for sub-group";
          }
    
          leaf refresh-sub-group-index {
            type uint32;
            description
              "BGP update generation refresh Sub-group index";
          }
    
          leaf refresh-sub-group-id {
            type uint32;
            description
              "ID of the refresh subgroup for BGP update
             generation";
          }
    
          leaf update-group-index-xr {
            type uint32;
            description
              "Index of this BGP Update-group";
          }
    
          leaf update-main-table-version {
            type uint32;
            description "Main table version";
          }
    
          leaf update-vrf-table-rib-version {
            type uint32;
            description "VRF Table RIB version";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue messages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue size";
          }
    
          leaf refresh-update-out-queue-messages {
            type uint32;
            description
              "Refresh OutQueue messages";
          }
    
          leaf refresh-update-out-queue-size {
            type uint32;
            description "Refresh OutQueue size";
          }
    
          leaf update-filter-group-messages {
            type uint32;
            description
              "The number of messages on the BGP filter-group";
          }
    
          leaf version {
            type uint32;
            description
              "Version up to which we have generated updates
             for BGP";
          }
    
          leaf pending-target-version {
            type uint32;
            description
              "Version of pending target for BGP update
             generation";
          }
    
          leaf next-resume-version {
            type uint32;
            description
              "Version number identifying the next to process
             when tablewalk has been interrupted";
          }
    
          leaf ack-version {
            type uint32;
            description
              "Identifying the prefixs that have been
             advertisedto the peer and acknowledged by it";
          }
    
          leaf synced-ack-version {
            type uint32;
            description
              "Peer acked version that was previously
             synchronized";
          }
    
          leaf outstanding-version-count {
            type uint32;
            description
              "The number of all outstanding version objects
             for thisneighbor address-family";
          }
    
          leaf update-refresh-version {
            type uint32;
            description "Refresh version";
          }
    
          leaf refresh-requested-target-version {
            type uint32;
            description
              "Requested refresh target version";
          }
    
          leaf update-refresh-target-version {
            type uint32;
            description
              "Target version for update generation in response
             to arefresh request";
          }
    
          leaf refresh-pending-target-version {
            type uint32;
            description
              "Pending refresh target version";
          }
    
          leaf refresh-next-resume-version {
            type uint32;
            description
              "Version number identifying the next to process
             whena table walk has been interrupted";
          }
    
          leaf refresh-ack-version {
            type uint32;
            description
              "Versio of the Refresh Ack for BGP update
             generation";
          }
    
          leaf last-default-originate-age {
            type uint32;
            units "second";
            description
              "Time since last default-origination event (in
             seconds)";
          }
    
          leaf default-originate-state {
            type int32;
            description
              "BGP update generation default originate state
             information";
          }
    
          leaf default-originate-internal-context {
            type int32;
            description
              "BGP update generation default originate context
             stateinformation";
          }
    
          leaf is-eor-outstanding {
            type boolean;
            description
              "Number of EORs outstanding";
          }
    
          leaf outbound-refresh-count {
            type uint32;
            description "Refresh Outbound count";
          }
    
          leaf inbound-refresh-count {
            type uint32;
            description "Refresh Inbound count";
          }
    
          leaf is-update-group-timer-running {
            type boolean;
            description
              "Flag to indicate if update-group timer is
             running";
          }
    
          leaf current-update-group-af-name {
            type Bgp-afi;
            description
              "Current Update-group address-family identifier";
          }
    
          leaf last-update-group-af-name {
            type Bgp-afi;
            description
              "Last Update-group address-family identifier";
          }
    
          leaf last-update-queued-age {
            type uint32;
            units "second";
            description
              "Time since last update queued event (in seconds)";
          }
    
          leaf last-refresh-update-queued-age {
            type uint32;
            units "second";
            description
              "Time since last refresh update queued event (in
             seconds)";
          }
    
          leaf last-update-write-age {
            type uint32;
            units "second";
            description
              "Time since last update write event (in seconds)";
          }
    
          leaf last-refresh-update-write-age {
            type uint32;
            units "second";
            description
              "Time since last refresh update write event (in
             seconds)";
          }
        }  // grouping BGP-UPDGEN-NBR-BAG
    
        grouping BGP-LINKED-EPE {
          description "BGP LINKED EPE";
          leaf epe-key-length {
            type uint8;
            description "EPE key length in bits";
          }
    
          leaf epe-type {
            type uint8;
            description "Type of EPE object";
          }
    
          list epe-key {
            description "Key of EPE object";
            leaf entry {
              type uint8;
              description "Key of EPE object";
            }
          }  // list epe-key
        }  // grouping BGP-LINKED-EPE
    
        grouping BGP-EPE-SET-BAG {
          description "BGP EPE SET BAG";
          container epe-local-address {
            description "Local address";
            uses BGP-ADDRTYPE;
          }  // container epe-local-address
    
          container epe-next-hop {
            description "Nexthop address";
            uses BGP-ADDRTYPE;
          }  // container epe-next-hop
    
          leaf epe-key-length {
            type uint8;
            description "EPE key length in bits";
          }
    
          leaf epe-type-xr {
            type uint8;
            description "Type of EPE object";
          }
    
          leaf epe-version {
            type uint32;
            description "EPE object's version";
          }
    
          leaf epe-flags {
            type uint16;
            description "EPE object's flags";
          }
    
          leaf epe-local-asn {
            type uint32;
            description "Local AS Number";
          }
    
          leaf epe-remote-asn {
            type uint32;
            description "Remote AS Number";
          }
    
          leaf epe-remote-router-id {
            type uint32;
            description
              "BGP egress peer engineeringremote router id";
          }
    
          leaf epe-local-router-id {
            type uint32;
            description
              "BGP egress peer engineeringlocal router id";
          }
    
          leaf label {
            type uint32;
            description
              "Label assigned to the RPCnext-hop set";
          }
    
          leaf ref-count {
            type uint32;
            description
              "Reference count indicates numberof places being
             updated";
          }
    
          leaf rpc-set-object-id {
            type uint32;
            description "RPC set object ID";
          }
    
          list epe-key {
            description "Key of EPE object";
            leaf entry {
              type uint8;
              description "Key of EPE object";
            }
          }  // list epe-key
    
          list nexthop-id {
            description
              "List of nexthop ID of EPE";
            leaf entry {
              type uint32;
              description
                "List of nexthop ID of EPE";
            }
          }  // list nexthop-id
    
          list ifhandle {
            description
              "List of ifhandle of EPE";
            leaf entry {
              type uint32;
              description
                "List of ifhandle of EPE";
            }
          }  // list ifhandle
    
          list first-hop {
            description
              "List of firsthops of EPE";
            uses BGP-ADDRTYPE;
          }  // list first-hop
    
          list linked-epe {
            description
              "List of EPE objects linked to this current EPE
             object";
            uses BGP-LINKED-EPE;
          }  // list linked-epe
        }  // grouping BGP-EPE-SET-BAG
    
        grouping BGP-NBR-GSHUT {
          description "BGP NBR GSHUT";
          leaf gshut-exists {
            type boolean;
            description
              "Graceful Maintenance enabled";
          }
    
          leaf gshut-local-active {
            type boolean;
            description
              "Graceful Maintenance locally activated";
          }
    
          leaf gshut-active {
            type boolean;
            description
              "Graceful Maintenance activated";
          }
    
          leaf gshut-locpref-set {
            type boolean;
            description
              "Graceful Maintenance Local Preference set";
          }
    
          leaf gshut-locpref {
            type uint32;
            description
              "Graceful Maintenance Local Preference";
          }
    
          leaf gshut-prepends {
            type uint8;
            description
              "Graceful Maintenance number of AS prepends";
          }
    
          leaf gshut-interface-active {
            type boolean;
            description
              "Graceful Maintenance activated at Interface";
          }
    
          leaf gshut-location-active {
            type boolean;
            description
              "Graceful Maintenance activated at Location";
          }
        }  // grouping BGP-NBR-GSHUT
    
        grouping BGP-NBR-MSG-STATS-UNIT {
          description "BGP NBR MSG STATS UNIT";
          container last-time-spec {
            description
              "BGP neighbor message statisticslast timespec";
            uses BGP-TIMESPEC;
          }  // container last-time-spec
    
          leaf count {
            type uint32;
            description "Count";
          }
        }  // grouping BGP-NBR-MSG-STATS-UNIT
    
        grouping BGP-NBR-MSG-STATS-OP {
          description "BGP NBR MSG STATS OP";
          container tx {
            description "Transmit";
            uses BGP-NBR-MSG-STATS-UNIT;
          }  // container tx
    
          container rx {
            description "Receive";
            uses BGP-NBR-MSG-STATS-UNIT;
          }  // container rx
        }  // grouping BGP-NBR-MSG-STATS-OP
    
        grouping BGP-NBR-MSG-STATS {
          description "BGP NBR MSG STATS";
          container open {
            description "Open";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container open
    
          container notification {
            description
              "BGP neighbor messagestatistics notification";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container notification
    
          container update {
            description
              "BGP neighbor message statisticsupdate";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container update
    
          container keepalive {
            description
              "Message sent between BGP neighborsto check the
             link between is operating";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container keepalive
    
          container route-refresh {
            description
              "BGP neighbor message statisticsroute refresh";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container route-refresh
    
          container total {
            description "Total";
            uses BGP-NBR-MSG-STATS-OP;
          }  // container total
        }  // grouping BGP-NBR-MSG-STATS
    
        grouping BGP-PERF-NBR-AF {
          description "BGP PERF NBR AF";
          leaf sub-group-pending-message-count {
            type uint32;
            description
              "No. of sub-group messages waiting to be sent out
             on this neighbor -- DEPRECATED -- ";
          }
    
          leaf processed-messages {
            type uint32;
            description
              "Number of messages processed from the neighbor's
             write queue";
          }
    
          leaf sent-messages {
            type uint32;
            description
              "Number of messages sent from the neighbor's
             write queue";
          }
    
          leaf split-horizon-update-transmit {
            type uint32;
            description
              "No. of update messages with split-horizon flag
             that were sent out";
          }
    
          leaf split-horizon-update-blocked {
            type uint32;
            description
              "No. of update messages with split-horizon flag
             that were blocked";
          }
    
          leaf split-horizon-withdraw-transmit {
            type uint32;
            description
              "No. of withdraw messages with split-horizon flag
             that were sent out";
          }
    
          leaf split-horizon-withdraw-blocked {
            type uint32;
            description
              "No. of withdraw messages with split-horizon flag
             that were blocked";
          }
        }  // grouping BGP-PERF-NBR-AF
    
        grouping BGP-NBR-AF {
          description
            "BGP neighbor address family specific information";
          container neighbor-af-performance-statistics {
            description "Neighbor AF statistics";
            uses BGP-PERF-NBR-AF;
          }  // container neighbor-af-performance-statistics
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf is-neighbor-route-reflector-client {
            type boolean;
            description
              "Nbr is a route reflector client";
          }
    
          leaf is-legacy-pe-rt {
            type boolean;
            description
              "Nbr accepts route from legacy PE for
             RT-Constraint AF ";
          }
    
          leaf is-neighbor-af-capable {
            type boolean;
            description
              "Address family capability received from neighbor";
          }
    
          leaf is-soft-reconfiguration-inbound-allowed {
            type boolean;
            description
              "Inbound soft reconfiguration allowed";
          }
    
          leaf is-use-soft-reconfiguration-always-on {
            type boolean;
            description
              "Soft reconf overrides route refresh";
          }
    
          leaf remove-private-as-from-updates {
            type boolean;
            description
              "Private AS numbers removed from updates to this
             nbr";
          }
    
          leaf remove-private-as-entire-aspath-from-updates {
            type boolean;
            description
              "Private AS numbers removed from updates to
             thisnbr only if the aspath hasonly private ASes";
          }
    
          leaf remove-private-as-from-inbound-updates {
            type boolean;
            description
              "Private AS numbers removed from updates from
             this nbr";
          }
    
          leaf remove-private-as-entire-aspath-from-inbound-updates {
            type boolean;
            description
              "Private AS numbers removed from updates from
             this nbr only if the aspath has only private
             ASes";
          }
    
          leaf flowspec-validation-d-isable {
            type boolean;
            description
              "Flag to indicate if bgp neighbor address-family
             flowspec validation is disabled";
          }
    
          leaf flowspec-redirect-validation-d-isable {
            type boolean;
            description
              "Flag to indicate if flowspec redirect nexthop
             validation is disabled";
          }
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf orr-group-index {
            type uint32;
            description "ORR Group Index";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configuredfor the neighbor
             connection";
          }
    
          leaf advertise-afi {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf advertise-afi-reorg {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf advertise-afi-disable {
            type boolean;
            description
              "Encode in Advertise AFI";
          }
    
          leaf encapsulation-type {
            type uint32;
            description
              "BGP neighbor address-familyencapsulation type";
          }
    
          leaf advertise-rt-type {
            type uint8;
            description
              "BGP neighbor address-familyadvertise route
             target type";
          }
    
          leaf advertise-afi-def-vrf-imp-disable {
            type boolean;
            description
              "Advertise of default VRF import disable";
          }
    
          leaf advertise-evpnv4-afi-def-vrf-imp-disable {
            type boolean;
            description
              "Advertise of v4 default VRF import disable";
          }
    
          leaf advertise-evpnv6-afi-def-vrf-imp-disable {
            type boolean;
            description
              "Advertise of v6 default VRF import disable";
          }
    
          leaf advertise-afi-vrf-re-imp-disable {
            type boolean;
            description
              "Advertise of VRF re-import disable";
          }
    
          leaf advertise-evpnv4-afi-vrf-re-imp-disable {
            type boolean;
            description
              "Advertise of v4 VRF re-import disable";
          }
    
          leaf advertise-evpnv6-afi-vrf-re-imp-disable {
            type boolean;
            description
              "Advertise of v6 VRF re-import disable";
          }
    
          leaf advertise-afi-eo-r-ready {
            type boolean;
            description
              "EoR Can be sent for Advertise AFI";
          }
    
          leaf always-use-next-hop-local {
            type boolean;
            description
              "Local router always used for next-hop";
          }
    
          leaf sent-community-to-neighbor {
            type boolean;
            description
              "Community attribute sent to neighbor";
          }
    
          leaf sent-gshut-community-to-neighbor {
            type boolean;
            description
              "GSHUT Community attribute sent to neighbor";
          }
    
          leaf sent-extended-community-to-neighbor {
            type boolean;
            description
              "Extended community attribute sent to neighbor";
          }
    
          leaf default-originate-vpn-index {
            type uint32;
            description
              "Default orig vpn indexto find bitfield for a nbr
             af";
          }
    
          leaf neighbor-default-originate {
            type boolean;
            description
              "Neighbor originates default";
          }
    
          leaf is-orf-sent {
            type boolean;
            description
              "Outbound route filter sent to neighbor";
          }
    
          leaf is-update-deferred {
            type boolean;
            description
              "Update deferred until ORF/route refresh received";
          }
    
          leaf is-orf-send-scheduled {
            type boolean;
            description
              "Scheduled to send prefix based ORF";
          }
    
          leaf update-group-number {
            type uint32;
            description "Update group index";
          }
    
          leaf filter-group-index {
            type uint32;
            description
              "BGP neighbor address-familyfilter group index";
          }
    
          leaf is-update-throttled {
            type boolean;
            description
              "Updates Throttled becausewrite limit is reached";
          }
    
          leaf is-update-leaving {
            type boolean;
            description
              "Nbr leaving update-groupto another";
          }
    
          leaf vpn-update-gen-enabled {
            type boolean;
            description
              "RT Nbr enabled for updategento another";
          }
    
          leaf vpn-update-gen-trigger-enabled {
            type boolean;
            description
              "RT Nbr enabled for updategento another";
          }
    
          leaf is-addpath-send-operational {
            type boolean;
            description
              "Addpath is operational on send-side";
          }
    
          leaf is-addpath-receive-operational {
            type boolean;
            description
              "Addpath is operational on receive-side";
          }
    
          leaf neighbor-version {
            type uint32;
            description
              "BGP neighbor version for theaddress-family";
          }
    
          leaf weight {
            type uint32;
            description "Weight for this AF";
          }
    
          leaf max-prefix-limit {
            type uint32;
            description
              "Max limit for # of prefixes";
          }
    
          leaf use-max-prefix-warning-only {
            type boolean;
            description
              "Warning only when maximum prefix limit reached";
          }
    
          leaf max-prefix-discard-extra-paths {
            type boolean;
            description
              "Discard extra paths when prefix limit reached";
          }
    
          leaf max-prefix-exceed-discard-paths {
            type boolean;
            description
              "Did we discard extra paths when prefix limit
             reached";
          }
    
          leaf max-prefix-threshold-percent {
            type uint8;
            units "percentage";
            description
              "Percentage of maximum no. of prefixes at which
             to generate warning";
          }
    
          leaf max-prefix-discard-paths-count {
            type uint32;
            description
              "Number of discarded paths after prefix limit
             reached";
          }
    
          leaf max-prefix-restart-time {
            type uint16;
            units "minute";
            description
              "Time interval (in minutes) after which peering
             session will be reestablished";
          }
    
          leaf prefixes-accepted {
            type uint32;
            description
              "Number of prefixes acceptedfrom this BGP
             neighbor";
          }
    
          leaf prefixes-synced {
            type uint32;
            description
              "Number of prefixes synced to standby";
          }
    
          leaf prefixes-withdrawn-not-found {
            type uint32;
            description
              "Number of prefixes withdrawn butnot found gor
             this BGP neighbor";
          }
    
          leaf prefixes-denied {
            type uint32;
            description
              "Number of prefixes denied forthis BGP neighbor";
          }
    
          leaf prefixes-denied-no-policy {
            type uint32;
            description
              "No. of prefixes denied because there was no
             inbound policy";
          }
    
          leaf prefixes-denied-rt-permit {
            type uint32;
            description
              "No. of prefixes denied because RT extended
             community is not imported";
          }
    
          leaf prefixes-denied-orf-policy {
            type uint32;
            description
              "No. of prefixes denied by prefix based ORF
             policy";
          }
    
          leaf prefixes-denied-policy {
            type uint32;
            description
              "No. of prefixes denied by inbound policy";
          }
    
          leaf number-of-bestpaths {
            type uint32;
            description
              "No. of bestpaths from this neighbor";
          }
    
          leaf number-of-best-externalpaths {
            type uint32;
            description
              "No. of best-external paths from this neighbor";
          }
    
          leaf prefixes-advertised {
            type uint32;
            description
              "Number of prefixes advertisedfor this BGP
             neighbor";
          }
    
          leaf prefixes-be-advertised {
            type uint32;
            description
              "Number of BE prefixes advertised";
          }
    
          leaf prefixes-suppressed {
            type uint32;
            description
              "Number of prefixes suppressed";
          }
    
          leaf prefixes-withdrawn {
            type uint32;
            description
              "Number of prefixes withdrawn";
          }
    
          leaf is-peer-orf-capable {
            type boolean;
            description
              "Peer has outbound route filter capability";
          }
    
          leaf is-advertised-orf-send {
            type boolean;
            description
              "Prefix based ORF send mode capability advertised";
          }
    
          leaf is-received-orf-send-capable {
            type boolean;
            description
              "Prefix based ORF send mode capability received";
          }
    
          leaf is-advertised-orf-receive {
            type boolean;
            description
              "Prefix based ORF receive mode capability
             advertised";
          }
    
          leaf is-received-orf-receive-capable {
            type boolean;
            description
              "Prefix based ORF receive mode capability
             received";
          }
    
          leaf is-advertised-graceful-restart {
            type boolean;
            description
              "Graceful Restart Capability advertised";
          }
    
          leaf is-graceful-restart-state-flag {
            type boolean;
            description
              "Restart state flag enabled";
          }
    
          leaf is-received-graceful-restart-capable {
            type boolean;
            description
              "Graceful Restart Capability received";
          }
    
          leaf is-add-path-send-capability-advertised {
            type boolean;
            description
              "Flag to indicate if addpath send capability sent
             to BGPneighbor";
          }
    
          leaf is-add-path-send-capability-received {
            type boolean;
            description
              "Flag to indicate if addpath send capability
             received from BGP neighbor";
          }
    
          leaf is-add-path-receive-capability-advertised {
            type boolean;
            description
              "Flag to indicate if addpath receive capability
             advertised from BGP neighbor";
          }
    
          leaf is-add-path-receive-capability-received {
            type boolean;
            description
              "Flag to indicate addpath receive capability
             received from BGPneighbor";
          }
    
          leaf is-ext-nh-encoding-capability-received {
            type boolean;
            description
              "Flag to indicate extended nexthop encoding
             capability received from BGP neighbor";
          }
    
          leaf is-ext-nh-encoding-capability-sent {
            type boolean;
            description
              "Extended nexhop encoding capability Sent";
          }
    
          leaf restart-time {
            type uint32;
            units "second";
            description
              "Restart time advertised (seconds)";
          }
    
          leaf local-restart-time {
            type uint32;
            units "second";
            description
              "Local Restart time (seconds)";
          }
    
          leaf stale-path-timeout {
            type uint32;
            units "second";
            description
              "Stale path timeout time (in seconds)";
          }
    
          leaf rib-purge-timeout-value {
            type uint32;
            units "second";
            description
              "RIB purge timeout time (in seconds)";
          }
    
          leaf neighbor-preserved-forwarding-state {
            type boolean;
            description
              "Flag to indicate neighbor preserved in
             forwarding state";
          }
    
          leaf long-lived-graceful-restart-stale-time-configured {
            type boolean;
            description
              "Flag to indicate if BGP neighbor long-lived
             graceful-restart stale time is configured";
          }
    
          leaf long-lived-graceful-restart-stale-time-sent {
            type uint32;
            units "second";
            description
              "Stale time sent in long-lived graceful-restart
             capability (seconds)";
          }
    
          leaf long-lived-graceful-restart-stale-time-accept {
            type uint32;
            units "second";
            description
              "Maximum long-lived graceful-restart stale time
             acceptable from the neighbor (seconds)";
          }
    
          leaf long-lived-graceful-restart-capability-received {
            type boolean;
            description
              "Flag to indicate long-lived graceful-restart
             capability received from the neighbor";
          }
    
          leaf long-lived-graceful-restart-stale-time-received {
            type uint32;
            units "second";
            description
              "Long-lived graceful-restart stale time received
             from the neighbor (seconds)";
          }
    
          leaf neighbor-preserved-long-lived-forwarding-state {
            type boolean;
            description
              "Flag to indicate BGP neighbor preserved
             long-lived forwarding state";
          }
    
          leaf neighbor-long-lived-graceful-restart-capable {
            type boolean;
            description
              "Flag to indicate if BGP neighbor as long-lived
             graceful-restartis capable";
          }
    
          leaf neighbor-long-lived-graceful-restart-time-remaining {
            type uint32;
            description
              "Remaining long-lived graceful-restart time";
          }
    
          leaf route-refreshes-received {
            type uint32;
            description
              "Number of route refresh requests received";
          }
    
          leaf route-refreshes-sent {
            type uint32;
            description
              "Number of route refresh requests sent";
          }
    
          leaf refresh-target-version {
            type uint32;
            description
              "Target version for refresh update generation";
          }
    
          leaf refresh-version {
            type uint32;
            description
              "Version till which refresh updates have been
             generated";
          }
    
          leaf refresh-acked-version {
            type uint32;
            description
              "Version acked by the peer for refresh updates
             sent";
          }
    
          leaf is-prefix-orf-present {
            type boolean;
            description
              "Outbound route filter prefix ORF present";
          }
    
          leaf orf-entries-received {
            type uint32;
            description
              "Number of outbound route filter entries received";
          }
    
          leaf is-default-originate-sent {
            type boolean;
            description
              "Default origination update sent";
          }
    
          leaf route-policy-prefix-orf {
            type string;
            description
              "Prefix based ORF for incoming updates";
          }
    
          leaf route-policy-in {
            type string;
            description
              "Incoming route policy name";
          }
    
          leaf route-policy-out {
            type string;
            description
              "Outgoing route policy name";
          }
    
          leaf route-policy-default-originate {
            type string;
            description
              "Default-originate route policy name";
          }
    
          leaf is-neighbor-ebgp-without-inbound-policy {
            type boolean;
            description
              "eBGP neighbor with no configured inbound policy";
          }
    
          leaf is-neighbor-ebgp-without-outbound-policy {
            type boolean;
            description
              "eBGP neighbor with no configured outbound policy";
          }
    
          leaf is-upd-orig-loopchk-disable-set {
            type boolean;
            description
              "Flag to indicate if update out originator
             loopcheck is disabled";
          }
    
          leaf is-as-override-set {
            type boolean;
            description
              "Flag to indicate as override set for BGP
             neighbor";
          }
    
          leaf is-allow-as-in-set {
            type boolean;
            description "Allowas-in set ";
          }
    
          leaf allow-as-in-count {
            type uint32;
            description
              "Allowas-in count config";
          }
    
          leaf address-family-long-lived-time {
            type uint32;
            description
              "AF specific Long-lived-time config";
          }
    
          leaf eo-r-received-in-read-only {
            type boolean;
            description
              "An EoR was received while in read-only mode";
          }
    
          leaf acked-version {
            type uint32;
            description
              "Version mapped from acked seqNo";
          }
    
          leaf synced-acked-version {
            type uint32;
            description
              "Version mapped from acked seqNo that was synced
             last";
          }
    
          leaf outstanding-version {
            type uint32;
            description
              "No. of all outstanding version objects waiting
             for ack from the peer";
          }
    
          leaf outstanding-refresh-version {
            type uint32;
            description
              "No. of only refresh version objects waiting for
             ack from the peer";
          }
    
          leaf outstanding-version-max {
            type uint32;
            description
              "Version mapped from acked seqNo that was synced
             last";
          }
    
          leaf is-aigp-set {
            type boolean;
            description "AIGP set ";
          }
    
          leaf is-rt-present {
            type boolean;
            description
              "RT attribute list present";
          }
    
          leaf is-rt-present-standby {
            type boolean;
            description
              "RT attribute list present";
          }
    
          leaf accept-own-enabled {
            type boolean;
            description
              "Flag to indicate if Accept-Own is enabled";
          }
    
          leaf selective-multipath-eligible {
            type boolean;
            description
              "Flag to indicate if selective multipath is
             eligible";
          }
    
          leaf afrpki-disable {
            type boolean;
            description
              "Prefix validation disabled";
          }
    
          leaf afrpki-use-validity {
            type boolean;
            description "Prefix v. use validity";
          }
    
          leaf afrpki-allow-invalid {
            type boolean;
            description
              "Prefix v. allow invalid";
          }
    
          leaf afrpki-signal-ibgp {
            type boolean;
            description "Prefix v. signal ibgp";
          }
    
          leaf is-advertise-permanent-network {
            type boolean;
            description
              "Flag to indicate if advertise is permanent
             network";
          }
    
          leaf is-send-mcast-attr {
            type boolean;
            description "Send Mcast Attr";
          }
    
          leaf import-stitching {
            type boolean;
            description
              "Import Stitching enabled";
          }
    
          leaf import-reoriginate {
            type boolean;
            description
              "Import Reoriginate enabled";
          }
    
          leaf import-reoriginate-stitching {
            type boolean;
            description
              "Import Reoriginate Stitching enabled";
          }
    
          leaf advertise-v4-flags {
            type uint32;
            description
              "Advertise options for VPNV4";
          }
    
          leaf advertise-v6-flags {
            type uint32;
            description
              "Advertise options for VPNV6";
          }
    
          leaf advertise-local-labeled-route-unicast {
            type boolean;
            description "Advertise routes with ";
          }
    
          leaf prefixes-denied-non-cumulative {
            type uint32;
            description
              "No. of prefixes exactly denied (non cumulative)";
          }
    
          leaf enable-label-stack {
            type boolean;
            description
              "Flag to indicate if label stack is enabled";
          }
    
          leaf ot-prov-track-enable {
            type boolean;
            description
              "OT Provider Tracking enabled";
          }
    
          leaf ot-prov-track-state {
            type Bgp-track-state;
            description
              "OT Provider Tracking state";
          }
    
          leaf ot-prov-track-in-gr-state {
            type boolean;
            description
              "OT Provider Track in GR State";
          }
    
          leaf ot-prov-track-eor-tmr-running {
            type boolean;
            description
              "OT Provider Track EOR timer running";
          }
    
          leaf slow-peer-flags {
            type uint8;
            description "Slow Peer Flags ";
          }
    
          leaf slow-peer-static {
            type boolean;
            description "Static Slow Peer ";
          }
    
          leaf slow-peer-dynamic {
            type boolean;
            description "Dynamic Slow Peer";
          }
    
          leaf slow-peer-permanent {
            type boolean;
            description "Permanent Slow Peer";
          }
    
          leaf slow-peer-count {
            type uint16;
            description "Slow peer count";
          }
    
          list extended-community {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community
    
          list extended-community-standby {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community-standby
        }  // grouping BGP-NBR-AF
    
        grouping BGP-PERF-NBR {
          description "BGP PERF NBR";
          leaf read-throttles {
            type uint32;
            description
              "Number of partial read throttles";
          }
    
          leaf low-throttled-read {
            type uint32;
            description
              "Num socket reads after nbrs crossed low
             threshold";
          }
    
          leaf high-throttled-read {
            type uint32;
            description
              "Num of socket reads after nbr crossed high
             threshold";
          }
    
          leaf time-since-last-throttled-read {
            type uint32;
            units "second";
            description
              "Time (in secs) since last read after being
             throttled";
          }
    
          leaf read-calls-count {
            type uint32;
            description
              "No. of calls to function to read inbound data";
          }
    
          leaf read-messages-count {
            type uint32;
            description
              "Number of BGP messages read";
          }
    
          leaf data-bytes-read {
            type uint32;
            units "byte";
            description
              "No. of bytes of data read";
          }
    
          leaf io-read-time {
            type uint32;
            units "millisecond";
            description
              "Time spent reading inbound data (milliseconds)";
          }
    
          leaf write-calls-count {
            type uint32;
            description
              "No. of calls to function to write outbound data";
          }
    
          leaf data-bytes-written {
            type uint32;
            units "byte";
            description
              "Number of bytes that havesent to peers";
          }
    
          leaf io-write-time {
            type uint32;
            units "millisecond";
            description
              "Time spent writing outbound data (milliseconds)";
          }
    
          leaf last-sent-seq-no {
            type uint32;
            description
              "Seq No of the last sent byte";
          }
    
          leaf write-subgroup-calls-count {
            type uint32;
            description
              "No. of calls to function to process sub-group
             message list";
          }
    
          leaf write-subgroup-messages-count {
            type uint32;
            description
              "Number of sub-group msgs processed";
          }
    
          leaf subgroup-list-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing sub-group message list
             (milliseconds)";
          }
    
          leaf write-queue-calls-count {
            type uint32;
            description
              "No. of calls to function to process write queue";
          }
    
          leaf write-queue-messages-count {
            type uint32;
            description
              "Number of write queue messages processed";
          }
    
          leaf write-queue-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing write queue (milliseconds)";
          }
    
          leaf inbound-update-messages {
            type uint32;
            description
              "Number of inbound update messages processed";
          }
    
          leaf inbound-update-messages-time {
            type uint32;
            units "millisecond";
            description
              "Time spent processing inbound update messages
             (milliseconds)";
          }
    
          leaf maximum-read-size {
            type uint32;
            units "millisecond";
            description
              "Size of largest socket (milliseconds)";
          }
    
          leaf actives {
            type uint32;
            description
              "Number of retried Active opens for this neighbor";
          }
    
          leaf failed-post-actives {
            type uint32;
            description
              "Number of Active Opens that failed in the Post
             Active State for this neighbor";
          }
    
          leaf passives {
            type uint32;
            description
              "Number of retried Passive opens for this
             neighbor";
          }
    
          leaf rejected-passives {
            type uint32;
            description
              "Number of rejected Passive opens for this
             neighbor";
          }
    
          leaf active-collision {
            type uint32;
            description
              "Number of Closed Active connections for this
             neighbor due to collision ";
          }
    
          leaf passive-collision {
            type uint32;
            description
              "Number of Closed Remote opens for this
             neighborneighbor due to collision ";
          }
    
          leaf control-to-read-thread-trigger {
            type uint32;
            description
              "Number of times io-control thread trigger read
             thread";
          }
    
          leaf control-to-write-thread-trigger {
            type uint32;
            description
              "Number of times io-control thread trigger write
             thread";
          }
    
          leaf network-status {
            type uint32;
            description
              "Socket status, TRUE if socket closed";
          }
    
          leaf reset-flags {
            type uint32;
            description
              "Reset flags, per thread";
          }
    
          leaf nbr-flags {
            type uint32;
            description "Nbr flags, per thread";
          }
    
          leaf nbr-fd {
            type int32;
            description "Primary FD, per nbr";
          }
    
          leaf reset-retries {
            type uint8;
            description "Reset Retries, per nbr";
          }
    
          leaf sync-flags {
            type uint32;
            description "Sync flags, per nbr";
          }
    
          leaf nsr-oper-down-count {
            type uint32;
            description
              "Number of times NSR scoped sync has been done";
          }
    
          leaf last-nsr-scoped-sync {
            type uint32;
            description
              "Last time NSR scoped syncwas done for the
             neighbor";
          }
        }  // grouping BGP-PERF-NBR
    
        grouping BGP-NOTFNTYPE {
          description "BGP NOTFNTYPE";
          leaf time-since-last-notification {
            type uint32;
            units "second";
            description
              "Time since the last notification was sent or
             received (seconds)";
          }
    
          leaf notification-error-code {
            type uint8;
            description
              "Error code in last notification";
          }
    
          leaf notification-error-subcode {
            type uint8;
            description
              "Error subcode in last notification";
          }
    
          list last-notification-data {
            description
              "Message data in last notification";
            leaf entry {
              type uint8;
              description
                "Message data in last notification";
            }
          }  // list last-notification-data
        }  // grouping BGP-NOTFNTYPE
    
        grouping BGP-NBR-BAG {
          description "BGP Neighbor Information";
          container connection-local-address {
            description
              "Local address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-local-address
    
          container connection-remote-address {
            description
              "Remote address for the connection";
            uses BGP-ADDRTYPE;
          }  // container connection-remote-address
    
          container send-notification-info {
            description
              "Information on the last notification sent";
            uses BGP-NOTFNTYPE;
          }  // container send-notification-info
    
          container received-notification-info {
            description
              "Information on the last notification received";
            uses BGP-NOTFNTYPE;
          }  // container received-notification-info
    
          container performance-statistics {
            description
              "BGP neighbor performance statistics";
            uses BGP-PERF-NBR;
          }  // container performance-statistics
    
          container message-statistics {
            description
              "BGP neighbor message statistics";
            uses BGP-NBR-MSG-STATS;
          }  // container message-statistics
    
          container tcp-init-sync-time-spec {
            description
              "Time When neighbor entered TCP Init Sync";
            uses BGP-TIMESPEC;
          }  // container tcp-init-sync-time-spec
    
          container tcp-init-sync-phase-two-time-spec {
            description
              "Time when neighbor entered TCP Init Sync Phase
             Two";
            uses BGP-TIMESPEC;
          }  // container tcp-init-sync-phase-two-time-spec
    
          container tcp-init-sync-done-time-spec {
            description
              "Time when neighbor entered TCP Init Sync Done";
            uses BGP-TIMESPEC;
          }  // container tcp-init-sync-done-time-spec
    
          container graceful-maintenance {
            description
              "Globally activated BGp neighborfor graceful
             shutdown";
            uses BGP-NBR-GSHUT;
          }  // container graceful-maintenance
    
          leaf speaker-id {
            type uint8;
            description
              "Speaker this neighbor is allocated to";
          }
    
          leaf description {
            type string;
            description
              "BGP neighbor description";
          }
    
          leaf local-as {
            type uint32;
            description "Local AS number";
          }
    
          leaf remote-as {
            type uint32;
            description "Remote AS number";
          }
    
          leaf has-internal-link {
            type boolean;
            description
              "Internal link to neighbor";
          }
    
          leaf is-external-neighbor-not-directly-connected {
            type boolean;
            description
              "Flag to indicate neighbor is external and not
             directly connected";
          }
    
          leaf messages-received {
            type uint32;
            description
              "Number of messages received";
          }
    
          leaf messages-sent {
            type uint32;
            description
              "Number of messages sent";
          }
    
          leaf update-messages-in {
            type uint32;
            description
              "No. of update msgs received";
          }
    
          leaf update-messages-out {
            type uint32;
            description
              "No. of update messages sent";
          }
    
          leaf messages-queued-in {
            type uint32;
            description
              "No. of msgs on receive queue";
          }
    
          leaf messages-queued-out {
            type uint32;
            description
              "No. of messages on send queue";
          }
    
          leaf connection-established-time {
            type uint32;
            units "second";
            description
              "Time (in secs) that the connection has been
             established";
          }
    
          leaf connection-state {
            type Bgp-conn-state;
            description "State of connection";
          }
    
          leaf previous-connection-state {
            type uint32;
            description
              "Previous state of connection";
          }
    
          leaf connection-admin-status {
            type uint32;
            description
              "Administrative status of connection";
          }
    
          leaf open-check-error-code {
            type Bgp-open-check-err;
            description
              "Error code for open check failure forBGP
             neighbor";
          }
    
          leaf is-local-address-configured {
            type boolean;
            description
              "Local address configured for the neighbor
             connection";
          }
    
          leaf connection-local-port {
            type uint32;
            description
              "Local port for the connection";
          }
    
          leaf connection-remote-port {
            type uint32;
            description
              "Remote port for the connection";
          }
    
          leaf neighbor-interface-handle {
            type uint32;
            description
              "Interface Handle of Neighbor";
          }
    
          leaf reset-notification-sent {
            type boolean;
            description
              "Notification was sent during last reset";
          }
    
          leaf is-administratively-shut-down {
            type boolean;
            description
              "Flag to indicate if BGP neighbor is
             administratively shut down";
          }
    
          leaf is-neighbor-max-prefix-shutdown {
            type boolean;
            description
              "Neighbor shut down because it exceeded max prfx
             count";
          }
    
          leaf is-out-of-memory-shutdown {
            type boolean;
            description
              "Neighbor shut down during a SEVERE low memory
             condition";
          }
    
          leaf is-out-of-memory-forced-up {
            type boolean;
            description
              "Neighbor forced up during a low memory condition";
          }
    
          leaf is-ebgp-peer-as-league {
            type boolean;
            description
              "EBGP peer belongs to AS League";
          }
    
          leaf is-ebgp-peer-common-admin {
            type boolean;
            description
              "EBGP peer with common administation";
          }
    
          leaf ttl-security-enabled {
            type boolean;
            description "TTL Security enabled";
          }
    
          leaf suppress4-byte-as {
            type boolean;
            description
              "Suppress 4byteas capability";
          }
    
          leaf bfd-session-state {
            type Bgp-bfd-state;
            description
              "BFD state for this peer";
          }
    
          leaf bfd-session-created-state {
            type Bgp-bfd-state;
            description
              "BFD state for this peer";
          }
    
          leaf bfd-session-enable-mode {
            type Bgp-bfd-enable-mode;
            description
              "BFD enable mode for this peer";
          }
    
          leaf bfd-minintervalval {
            type uint32;
            description
              "BFD Mininterval for this peer";
          }
    
          leaf bfd-multiplierval {
            type uint32;
            description
              "BFD Multiplier for this peer";
          }
    
          leaf bfd-state-ts {
            type uint64;
            description
              "Timestamp since when nbr is in this bfd state";
          }
    
          leaf router-id {
            type inet:ipv4-address;
            description
              "Router ID for the neighbor";
          }
    
          leaf negotiated-protocol-version {
            type uint16;
            description
              "Negotiated protocol version with the BGP
             neighbor";
          }
    
          leaf ebgp-time-to-live {
            type uint32;
            description
              "Maximum number of hops for external BGP neighbor";
          }
    
          leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled {
            type boolean;
            description
              "If true, MPLS and NULL rewrite is disabled; if
             false, it is enabled";
          }
    
          leaf tcpmss {
            type uint32;
            description
              "Neighbor TCP Maximum Segment
             size";
          }
    
          leaf msg-log-in {
            type uint32;
            description "Message in log count";
          }
    
          leaf msg-log-out {
            type uint32;
            description "Message out log count";
          }
    
          leaf neighbor-local-as {
            type uint32;
            description
              "Local AS configured on the neighbor";
          }
    
          leaf local-as-no-prepend {
            type boolean;
            description
              "Option to not prepend the Local AS to
             announcements";
          }
    
          leaf is-capability-negotiation-suppressed {
            type boolean;
            description
              "Flag to indicate if Capability negotiation is
             disabled for this BGP neighbor";
          }
    
          leaf is-capability-negotiation-performed {
            type boolean;
            description
              "Flag to indicate if capability negotiation is
             performed for BGP neighbor";
          }
    
          leaf is-route-refresh-capability-received {
            type boolean;
            description
              "Flag to indicate if the neighbor supports
             route-refresh was received";
          }
    
          leaf is-route-refresh-old-capability-received {
            type boolean;
            description
              "Flag to indicate if the neighbor supports
             route-refresh old capability was received";
          }
    
          leaf is-gr-aware {
            type boolean;
            description "GR awareness received";
          }
    
          leaf is4-byte-as-capability-received {
            type boolean;
            description
              "Flag to ndicate if neighbor supports 4-byte AS
             capability received";
          }
    
          leaf is4-byte-as-capability-sent {
            type boolean;
            description
              "4-byte AScapability Snt";
          }
    
          leaf multi-protocol-capability-received {
            type boolean;
            description
              "Flag to indicate if multi-protocol capability
             has been received";
          }
    
          leaf hold-time {
            type uint16;
            units "second";
            description
              "Hold time (in secs) negotiated for this
             connection";
          }
    
          leaf keep-alive-time {
            type uint16;
            units "second";
            description
              "Keepalive time (in secs) negotiated for this
             connection";
          }
    
          leaf configured-hold-time {
            type uint16;
            units "second";
            description
              "Hold time (in secs) configured for this
             connection";
          }
    
          leaf configured-keepalive {
            type uint16;
            units "second";
            description
              "Keepalive time (in secs) configured for this
             connection";
          }
    
          leaf configured-min-acc-hold-time {
            type uint16;
            units "second";
            description
              "Minimum acceptable hold time from neighbor (in
             secs) configured for this connection";
          }
    
          leaf min-advertise-interval {
            type uint32;
            units "second";
            description
              "Minimum advertisement interval, secs part";
          }
    
          leaf min-advertise-interval-msecs {
            type uint32;
            units "millisecond";
            description
              "Minimum advertisement interval, msecs part";
          }
    
          leaf min-origination-interval {
            type uint16;
            units "second";
            description
              "Minimum origination interval (in secs)";
          }
    
          leaf connect-retry-interval {
            type uint16;
            units "second";
            description
              "Time (in secs) for connect retry timer";
          }
    
          leaf time-since-last-update {
            type uint32;
            units "second";
            description
              "Time (in secs) since last update message was
             received";
          }
    
          leaf time-since-last-read {
            type uint32;
            units "second";
            description
              "Time (in secs) since last read";
          }
    
          leaf time-since-last-read-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since last read before last reset";
          }
    
          leaf time-last-cb {
            type uint64;
            description "CB";
          }
    
          leaf time-last-cb-reset {
            type uint32;
            description "Last CB before reset";
          }
    
          leaf time-last-fb {
            type uint64;
            description "FB";
          }
    
          leaf count-last-write {
            type uint32;
            description "Count";
          }
    
          leaf time-since-last-write {
            type uint32;
            units "second";
            description
              "Time (in secs) since last write";
          }
    
          leaf attempted-last-write-bytes {
            type uint32;
            description
              "Attempted size of last write";
          }
    
          leaf actual-last-write-bytes {
            type uint32;
            description
              "Actual size of last write";
          }
    
          leaf time-since-second-last-write {
            type uint32;
            units "second";
            description
              "Time (in seconds) elapsed since the second last
             write event";
          }
    
          leaf attempted-second-last-write-bytes {
            type uint32;
            description
              "Attempted size of second last write";
          }
    
          leaf actual-second-last-write-bytes {
            type uint32;
            description
              "Actual size of second last write";
          }
    
          leaf time-since-last-write-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since last write before last
             reset";
          }
    
          leaf attempted-last-write-reset-bytes {
            type uint32;
            description
              "Attempted size of last write before reset";
          }
    
          leaf actual-last-write-reset-bytes {
            type uint32;
            description
              "Actual size of last write before reset";
          }
    
          leaf time-since-second-last-write-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since last write before last
             reset";
          }
    
          leaf attempted-second-last-write-reset-bytes {
            type uint32;
            description
              "Attempted size of second last write before reset";
          }
    
          leaf actual-second-last-write-reset-bytes {
            type uint32;
            description
              "Actual size of second last write before reset";
          }
    
          leaf last-write-event {
            type uint32;
            units "second";
            description
              "Time (in secs) since last write thread event";
          }
    
          leaf second-last-write-event {
            type uint32;
            units "second";
            description
              "Time (in secs) since second last write thread
             event";
          }
    
          leaf last-k-aexpiry-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since last KA timer expiry before
             reset";
          }
    
          leaf second-last-k-aexpiry-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since second last KA timer expiry
             before reset";
          }
    
          leaf last-k-anotsent-reset {
            type uint32;
            units "second";
            description
              "Duration (in secs) since last time that KA was
             not sent before reset";
          }
    
          leaf last-k-aerror-reset {
            type uint32;
            units "second";
            description
              "Duration (in secs) since last time that an error
             was encountered after KA expiry";
          }
    
          leaf last-k-astart-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since the last KA timer start
             before reset";
          }
    
          leaf second-last-k-astart-reset {
            type uint32;
            units "second";
            description
              "Time (in secs) since the second last KA timer
             start before reset";
          }
    
          leaf connection-up-count {
            type uint32;
            description
              "Number of times the connection was established";
          }
    
          leaf connection-down-count {
            type uint32;
            description
              "Number of times connection was dropped";
          }
    
          leaf time-since-connection-last-dropped {
            type uint32;
            units "second";
            description
              "Time since the connection last went down
             (seconds)";
          }
    
          leaf reset-reason {
            type Bgp-reset-reason-index;
            description
              "Reason for last connection reset";
          }
    
          leaf peer-reset-reason {
            type Bgp-peer-reset-reason-index;
            description
              "Reason for last peer close event";
          }
    
          leaf peer-error-code {
            type uint32;
            description
              "If peer closed, error received from transport";
          }
    
          leaf last-notify-error-code {
            type uint8;
            description
              "Code for the last error notification seen on the
             connection";
          }
    
          leaf last-notify-error-subcode {
            type uint8;
            description
              "Error subcode of the last error notification
             seen on the connection";
          }
    
          leaf error-notifies-received {
            type uint32;
            description
              "Number of error notifications received on the
             connection";
          }
    
          leaf error-notifies-sent {
            type uint32;
            description
              "Number of error notifications sent on the
             connection";
          }
    
          leaf remote-as-number {
            type uint32;
            description
              "Remote AS number of BGP neighbor";
          }
    
          leaf dmz-link-bandwidth {
            type uint32;
            description
              "Bandwidth of link to single-hop eBGP peer";
          }
    
          leaf ebgp-recv-dmz {
            type boolean;
            description
              "Receive Bandwidth of link to single-hop eBGP
             peer";
          }
    
          leaf ebgp-send-dmz-mode {
            type Bgp-ebgp-send-dmz-enable-mode;
            description
              "Ebgp send dmz link bw mode";
          }
    
          leaf tos-type {
            type uint8;
            description
              "Precedence or DSCP type";
          }
    
          leaf tos-value {
            type uint8;
            description
              "Precedence or DSCP value";
          }
    
          leaf tcp-session-open-mode {
            type Bgp-tcp-mode;
            description
              "The TCP mode to be used to set up BGP session
             with the neighbor";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf standby-rp {
            type boolean;
            description
              "Standby RP socket inited for Active Open";
          }
    
          leaf nsr-enabled {
            type boolean;
            description "Neighbor supports NSR";
          }
    
          leaf graceful-restart-enabled-nbr {
            type boolean;
            description
              "Neighbor supports graceful-restart";
          }
    
          leaf gr-restart-time {
            type uint32;
            units "second";
            description
              "Neighbor restart time (in seconds)";
          }
    
          leaf gr-stale-path-time {
            type uint32;
            units "second";
            description
              "Neighbor stale-path time (in seconds)";
          }
    
          leaf fssn-offset {
            type uint32;
            description
              "First standby SeqNo offset";
          }
    
          leaf fpbsn-offset {
            type uint32;
            description
              "First standby PDU boundary SeqNo offset";
          }
    
          leaf last-ackd-seq-no {
            type uint32;
            description
              "SeqNo of the last Ackd byte";
          }
    
          leaf bytes-written {
            type uint32;
            units "byte";
            description
              "Total bytes written by write thread";
          }
    
          leaf bytes-read {
            type uint32;
            units "byte";
            description "Total bytes read";
          }
    
          leaf socket-read-bytes {
            type uint32;
            units "byte";
            description
              "Total read bytes value insocket-lib";
          }
    
          leaf is-read-disabled {
            type boolean;
            description
              "If true, socket read isdisabled";
          }
    
          leaf update-bytes-read {
            type uint32;
            units "byte";
            description
              "Total number of bytes readcorresponding to
             update messages";
          }
    
          leaf nsr-state {
            type Bgp-sync-nbr-nsr-state;
            description "NSR state";
          }
    
          leaf is-passive-close {
            type boolean;
            description
              "If true, active socket canbe closed if passive
             openis received for a GRcapable neighbor";
          }
    
          leaf nbr-enforce-first-as {
            type boolean;
            description
              "Neighbor enforce first AS";
          }
    
          leaf active-bmp-servers {
            type uint8;
            description
              "BMP Servers to which the neighbor sends logs";
          }
    
          leaf nbr-cluster-id {
            type uint32;
            description "Cluster id";
          }
    
          leaf nbr-in-cluster {
            type uint8;
            description
              "Type of cluster_id:undefined/number/Ip address";
          }
    
          leaf ignore-connected {
            type boolean;
            description
              "If true, the VPN client isan IBGP CE peer";
          }
    
          leaf internal-vpn-client {
            type boolean;
            description
              "If true, don't do NHconnected check for nbr";
          }
    
          leaf io-armed {
            type boolean;
            description
              "If true, socket has beenauto-armed for io
             control";
          }
    
          leaf read-armed {
            type boolean;
            description
              "If true, socket has beenauto-armed for read";
          }
    
          leaf write-armed {
            type boolean;
            description
              "If true, socket has beenauto-armed for write";
          }
    
          leaf discard-data-bytes {
            type uint32;
            units "byte";
            description
              "Remaining discard data (bytes) on Standby";
          }
    
          leaf local-as-replace-as {
            type boolean;
            description
              "Local AS Replace-AS option";
          }
    
          leaf local-as-dual-as {
            type boolean;
            description
              "Local AS Dual-AS option";
          }
    
          leaf local-as-dual-as-mode-native {
            type boolean;
            description
              "Applies only if Local AS Dual-AS option is
             enabled. Indicates if Dual-AS mode is native.";
          }
    
          leaf egress-peer-engineering-enabled {
            type boolean;
            description
              "Indicates if Egress Peer Engineering is enabled";
          }
    
          leaf discard-as4-path {
            type uint32;
            description
              "Discard AS4_PATH in case there is a discrepancy
             in merging AS_PATH and AS4_PATH,retain ASPATH";
          }
    
          leaf rpki-disable {
            type boolean;
            description
              "Prefix validation disabled";
          }
    
          leaf rpki-use-validity {
            type boolean;
            description "Prefix v. use validity";
          }
    
          leaf rpki-allow-invalid {
            type boolean;
            description
              "Prefix v. allow invalid";
          }
    
          leaf rpki-signal-ibgp {
            type boolean;
            description "Prefix v. signal ibgp";
          }
    
          leaf dynamic-neighbor {
            type boolean;
            description
              "Flag to indicate if the neighbor specifically
             defining the neighborsis a dynamic neighbor";
          }
    
          leaf merge-inbound-safi1and4-updates {
            type boolean;
            description
              "Merge SAFI-1 and SAFI-4 updates from neighbor";
          }
    
          leaf is-capability-enhe-suppressed {
            type boolean;
            description
              "Flag to indicate if Capability
             extended-nexthop-encoding is disabled for this
             BGP neighbor";
          }
    
          leaf delete-time-remaining {
            type uint32;
            units "second";
            description
              "Time (in secs) remaining for deletion";
          }
    
          leaf sn-bfd-discriminator {
            type uint32;
            description
              "Local Discriminator for the associated BFD
             session";
          }
    
          list af-data {
            max-elements 25;
            description
              "Address family specific neighbor data";
            uses BGP-NBR-AF;
          }  // list af-data
        }  // grouping BGP-NBR-BAG
    
        grouping BGP-PATH-MULTI {
          description "BGP path set";
          list paths {
            description "BGP paths information";
            uses BGP-PATH-BAG;
          }  // list paths
    
          list adv-path-info {
            description "Net Advertized Paths";
            uses BGP-PATH-ADV-BAG;
          }  // list adv-path-info
        }  // grouping BGP-PATH-MULTI
    
        grouping BGP-ORR-GROUP-BAG {
          description
            "BGP ORR Group Information";
          container orr-root-address {
            description "ORR Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-root-address
    
          container orr-sec-root-address {
            description "ORR Sec Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-sec-root-address
    
          container orr-ter-root-address {
            description "ORR ter Root Address";
            uses BGP-ADDRTYPE;
          }  // container orr-ter-root-address
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configured";
          }
    
          leaf is-orr-sec-root-address-configured {
            type boolean;
            description
              "ORR Sec Root address configured";
          }
    
          leaf is-orr-ter-root-address-configured {
            type boolean;
            description
              "ORR Ter Root address configured";
          }
    
          leaf orr-neighbor-count {
            type uint32;
            description "ORR neighbor count";
          }
    
          leaf orr-index {
            type uint32;
            description "ORR index";
          }
    
          leaf orr-tableid {
            type uint32;
            description "ORR Group tableid";
          }
        }  // grouping BGP-ORR-GROUP-BAG
    
        grouping BGP-NBR-ADV-CNT-BAG {
          description "BGP Neighbor adv cnt bag";
          leaf max-prefix-advertisedcount {
            type uint32;
            description
              "Number of prefixes advertsied to neighbor";
          }
        }  // grouping BGP-NBR-ADV-CNT-BAG
    
        grouping BGP-RECENT-NET-BAG {
          description "BGP Recent Net";
          container bgp-prefix {
            description "BGP prefix";
            uses BGP-PREFIXTYPE;
          }  // container bgp-prefix
    
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path Route Distinguisher";
          }
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
        }  // grouping BGP-RECENT-NET-BAG
    
        grouping BGP-MVPN-EXTCOMM {
          description "MVPN RT list entry";
          list bgp-mvpn-extcomm {
            description
              "Next entry in prefix list";
            leaf ext-comm-value {
              type yang:hex-string;
              description
                "Extended community value";
            }
    
            leaf ext-comm-is-stale {
              type boolean;
              description
                "Extended community is stale";
            }
          }  // list bgp-mvpn-extcomm
        }  // grouping BGP-MVPN-EXTCOMM
    
        grouping BGP-MVPN-RT-LIST-BAG {
          description "BGP MVPN RT list bag";
          container mvpn-extcomm-list {
            description "Prefix list";
            uses BGP-MVPN-EXTCOMM;
          }  // container mvpn-extcomm-list
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identfier";
          }
    
          leaf vrf-ri-exist {
            type boolean;
            description "Is Vrf ri existing";
          }
    
          leaf router-address {
            type inet:ipv4-address;
            description "PE address";
          }
    
          leaf vrf-index {
            type uint16;
            description "Vrf index";
          }
    
          leaf seg-nh-exist {
            type boolean;
            description
              "Is segmented nh existing";
          }
    
          leaf seg-nh-address {
            type inet:ipv4-address;
            description "Segmented nexthop";
          }
    
          leaf source-as-exist {
            type boolean;
            description "Is source as exising";
          }
    
          leaf source-as {
            type uint32;
            description "Source As number";
          }
    
          leaf vrf-ri-exist-m {
            type boolean;
            description
              "Is Vrf ri existing for mcast";
          }
    
          leaf router-address-m {
            type inet:ipv4-address;
            description "PE address for mcast";
          }
    
          leaf vrf-index-m {
            type uint16;
            description "Vrf index for mcast";
          }
    
          leaf seg-nh-exist-m {
            type boolean;
            description
              "Is segmented nh existing for mcast";
          }
    
          leaf seg-nh-address-m {
            type inet:ipv4-address;
            description
              "Segmented nexthop for mcast";
          }
    
          leaf source-as-exist-m {
            type boolean;
            description
              "Is source as exising for mcast";
          }
    
          leaf source-as-m {
            type uint32;
            description
              "Source As number for mcast";
          }
    
          leaf connector-src-exist {
            type boolean;
            description
              "Is Connector src existing";
          }
    
          leaf connector-src {
            type inet:ipv4-address;
            description "Connector src";
          }
        }  // grouping BGP-MVPN-RT-LIST-BAG
    
        grouping BGP-PATH-ELEM-BAG {
          description "BGP path element";
          container pelem-path-nexthop {
            description "Path nexthop address";
            uses BGP-ADDRTYPE;
          }  // container pelem-path-nexthop
    
          container nh-tunnel {
            description "NH tunnel information";
            uses BGP-TE-TUNNEL;
          }  // container nh-tunnel
    
          container pelem-path-neighbor-addr {
            description "Path neighbor address";
            uses BGP-ADDRTYPE;
          }  // container pelem-path-neighbor-addr
    
          leaf pelem-path-id {
            type uint32;
            description "Local Path ID";
          }
    
          leaf pelem-version {
            type uint32;
            description "Version";
          }
    
          leaf pelem-flags {
            type uint32;
            description "Flags";
          }
    
          leaf pelem-gw-metric {
            type uint32;
            description "Gateway metric";
          }
    
          leaf pelem-path-flags {
            type uint64;
            description "Path flags";
          }
    
          leaf pelem-path-peer-path-id {
            type uint32;
            description "Path peer path ID";
          }
    
          leaf pelem-table-attr-version {
            type uint32;
            description "Table Attr version";
          }
    
          leaf pelem-path-table-attr-version {
            type uint32;
            description
              "Path Table Attribute version";
          }
    
          leaf pelem-no-bestpath-table-attr-version {
            type uint32;
            description
              "BGP network no best path tableattribute version
             number";
          }
    
          leaf pelem-no-addpath-table-attr-version {
            type uint32;
            description
              "The version of the no addpath table attribute";
          }
    
          leaf is-perm-path-pelem {
            type boolean;
            description
              "Pelem for permanent path";
          }
        }  // grouping BGP-PATH-ELEM-BAG
    
        grouping BGP-NET-BAG {
          description "BGP network";
          container bgp-prefix {
            description "BGP prefix";
            uses BGP-PREFIXTYPE;
          }  // container bgp-prefix
    
          container version-timestamp {
            description
              "BGP network version timestamp";
            uses BGP-TIMESPEC;
          }  // container version-timestamp
    
          container version-age {
            description
              "BGP network age of version";
            uses BGP-TIMESPEC;
          }  // container version-age
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf process-instance-id {
            type uint8;
            description
              "ID of the BGP process instance";
          }
    
          leaf has-inconsistent-paths {
            type boolean;
            description
              "Flag to indicate if inconsistent paths attached
             to net";
          }
    
          leaf is-net-aggregation-suppressed {
            type boolean;
            description
              "Net suppressed due to aggregation";
          }
    
          leaf is-net-ldp-signaled {
            type boolean;
            description
              "L2VPN Net LDP signaled  aggregation";
          }
    
          leaf table-version {
            type uint32;
            description
              "Table version # for net";
          }
    
          leaf table-brib-version {
            type uint32;
            description
              "Table version # for updates";
          }
    
          leaf advertisedto-pe {
            type boolean;
            description
              "Net could be advertised
             to PE peers";
          }
    
          leaf has-local-label {
            type boolean;
            description
              "Flag to indicate if local BGP labelassociated
             with the net";
          }
    
          leaf net-local-label {
            type uint32;
            description "Local label";
          }
    
          leaf net-label-mode {
            type uint32;
            description "Label mode";
          }
    
          leaf net-local-label-rewrite {
            type boolean;
            description "Net label has rewrite";
          }
    
          leaf net-local-label-srgb {
            type boolean;
            description
              "Net label allocated fromSegment routing global
             block";
          }
    
          leaf has-lbl-retained {
            type boolean;
            description
              "Flag to indicate if BGP network labels are
             retained ";
          }
    
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "BGP network Route Distinguisher";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf net-flags {
            type uint32;
            description
              "Flags associated with
             net";
          }
    
          leaf net-extended-flags {
            type uint32;
            description
              "BGP network flags for extendedcommunity";
          }
    
          leaf net-multipath {
            type boolean;
            description "Net has multipaths";
          }
    
          leaf net-eibgp-multipath {
            type boolean;
            description
              "Net has EIBGP multipaths";
          }
    
          leaf net-backup-available {
            type boolean;
            description "Net has backup path";
          }
    
          leaf net-backup-label-rewrite-available {
            type boolean;
            description
              "Net has label rewrite for backup path";
          }
    
          leaf rib-failed {
            type boolean;
            description "RIB install failed";
          }
    
          leaf gateway-array {
            type uint32;
            description
              "ID for the gateway array";
          }
    
          leaf resilient-nexthop-set {
            type uint32;
            description
              "ID for the Resilient per CEnexthop set";
          }
    
          leaf is-permanent-network {
            type boolean;
            description
              "Flag that indicates that the networkhas
             permanent path";
          }
    
          leaf num-of-path {
            type uint32;
            description
              "Number of path for this net";
          }
    
          leaf version {
            type uint32;
            description
              "The version of the the radix tree";
          }
    
          leaf bit {
            type uint16;
            description "Bit";
          }
    
          leaf flags {
            type uint8;
            description "Flags";
          }
    
          leaf has-srv6-sid-allocated {
            type boolean;
            description
              "Net has SRv6 SID allocated";
          }
    
          leaf srv6-sid-address {
            type Ipv6-address;
            description "SRv6 SID address value";
          }
    
          leaf srv6-sid-address-len {
            type uint32;
            description
              "SRv6 SID address Length";
          }
    
          list local-peers-advertised-to {
            description
              "Local peers that this prefix has been advertised
             to";
            uses BGP-ADVINFO-TYPE;
          }  // list local-peers-advertised-to
    
          list pe-peers-advertised-to {
            description
              "PE peers that this prefix has been advertised to";
            uses BGP-ADVINFO-TYPE;
          }  // list pe-peers-advertised-to
    
          list best-path-orrbitfield {
            description
              "ORR Best path Bitfields";
            uses BGP-ADVINFO-TYPE;
          }  // list best-path-orrbitfield
    
          list add-path-orrbitfield {
            description "ORR Add path Bitfields";
            uses BGP-ADVINFO-TYPE;
          }  // list add-path-orrbitfield
    
          list local-process-instance-path {
            description
              "Local (to process instance) paths for this net ";
            uses BGP-PATH-BAG;
          }  // list local-process-instance-path
    
          list active-process-instance-path {
            description
              "Path for this net from BGP active instance
             process";
            uses BGP-PATH-BAG;
          }  // list active-process-instance-path
    
          list local-path-element {
            description
              "BGP network elements list of thelocal path";
            uses BGP-PATH-ELEM-BAG;
          }  // list local-path-element
    
          list active-path-element {
            description
              "Path element list received from Active inst";
            uses BGP-PATH-ELEM-BAG;
          }  // list active-path-element
        }  // grouping BGP-NET-BAG
    
        grouping BGP-UPDGEN-FILTERGRP-BAG {
          description
            "BGP Update generation Filter-group information";
          leaf process-id {
            type uint32;
            description "ProcessID";
          }
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf update-filter-group-index {
            type uint32;
            description "Filter-group index";
          }
    
          leaf parent-filter-group-index {
            type uint32;
            description
              "In refresh sub group points to the
             correspondingfilter group in parent subgroup
             index";
          }
    
          leaf sub-group-index-xr {
            type uint32;
            description
              "Index for the sub-group used when accessing bits";
          }
    
          leaf sub-group-id-xr {
            type uint32;
            description "Sub-group identifier";
          }
    
          leaf parent-sub-group-index {
            type uint32;
            description
              "Index for the subgroup of parent";
          }
    
          leaf parent-sub-group-id {
            type uint32;
            description
              "Parent Sub-group identifier";
          }
    
          leaf update-group-index-xr {
            type uint32;
            description
              "BGP update generation index of update-group";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "Number of neighbors in this BGP filter-group";
          }
        }  // grouping BGP-UPDGEN-FILTERGRP-BAG
    
        grouping BGP-UPDGEN-UPDGRP-BAG {
          description
            "BGP Update generation Update-group information";
          container last-update-timer-start-timestamp {
            description
              "Start timer update for the last update";
            uses BGP-TIMESPEC;
          }  // container last-update-timer-start-timestamp
    
          container last-update-timer-stop-timestamp {
            description
              "Timer stop time for the last update";
            uses BGP-TIMESPEC;
          }  // container last-update-timer-stop-timestamp
    
          container last-update-timer-expiry-timestamp {
            description
              "Timer expiry time update for last update";
            uses BGP-TIMESPEC;
          }  // container last-update-timer-expiry-timestamp
    
          container last-update-timer-remaining-value {
            description
              "Update timer remaining time";
            uses BGP-TIMESPEC;
          }  // container last-update-timer-remaining-value
    
          container last-update-timer-delay-value {
            description
              "Number of timer delayed for the last update";
            uses BGP-TIMESPEC;
          }  // container last-update-timer-delay-value
    
          container update-statistics {
            description
              "BGP update-group update statistics";
            uses BGP-UPDGEN-STATS-BAG;
          }  // container update-statistics
    
          leaf process-id {
            type uint32;
            description "ProcessID";
          }
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf neighbor-session-af-name {
            type uint8;
            description
              "Neighbor session address family";
          }
    
          leaf update-group-index-xr {
            type uint32;
            description
              "Index of the BGP update group";
          }
    
          leaf update-group-flags2 {
            type uint32;
            description
              "Update-group internal flags2";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue Messages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue Size";
          }
    
          leaf update-sub-group-count {
            type uint32;
            description "Sub-group count";
          }
    
          leaf sub-group-throttled-count {
            type uint32;
            description
              "Throttled sub-group count";
          }
    
          leaf refresh-sub-group-count {
            type uint32;
            description
              "Number of temporary refresh sub groups";
          }
    
          leaf refresh-sub-group-throttled-count {
            type uint32;
            description
              "Throttled refresh sub-group count";
          }
    
          leaf filter-group-count {
            type uint32;
            description
              "Number of filter groups in BGP update generation";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "Number of neighbors present in BGp update
             generation";
          }
    
          leaf neighbor-leaving-count {
            type uint32;
            description
              "Count of neighbors leaving the update-group";
          }
    
          leaf update-generation-recovery-pending {
            type boolean;
            description
              "Flag to indicate if update generation recovery
             is pending";
          }
    
          leaf last-update-timer-expiry-age {
            type uint32;
            description
              "Time since last update timer expiry event";
          }
    
          leaf is-update-timer-running {
            type boolean;
            description
              "Flag to indicate if timer is  running";
          }
    
          leaf perm-pelem-encountered {
            type uint32;
            description
              "Count of Perm Pelems seen by updgen";
          }
    
          leaf perm-pelem-allowed {
            type uint32;
            description
              "Count of Perm Pelems allowed by updgen";
          }
    
          leaf perm-pelem-not-allowed {
            type uint32;
            description
              "Count of Perm Pelems not allowed by updgen";
          }
    
          leaf perm-pelem-exp-wdr {
            type uint32;
            description
              "Count of Perm Pelems explicitly wdrn by updgen";
          }
    
          leaf perm-pelem-spur-wdr {
            type uint32;
            description
              "Count of Perm Pelems Spurious withdraws by
             updgen";
          }
    
          leaf is-permanent {
            type boolean;
            description "Permanent UG check";
          }
        }  // grouping BGP-UPDGEN-UPDGRP-BAG
    
        grouping BGP-BMP-PATH-BAG {
          description "BMP Table path details";
          container neighbor-address {
            description
              "BGP monitoring protocolip address of neighbor";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          leaf bmp-path-flags {
            type uint32;
            description
              "Flags associated with path";
          }
    
          leaf bmp-path-adv-bit-map {
            type uint16;
            description "Path's Adv bit map";
          }
    
          leaf bmp-path-snd-bit-map {
            type uint16;
            description
              "Path's pending snd bit map";
          }
    
          leaf bmp-nbr-bit-map {
            type uint32;
            description "Paths Nbr bmp bit map";
          }
    
          leaf local-path {
            type boolean;
            description
              "Is path originated locally?";
          }
    
          leaf bpath-pointer {
            type uint64;
            description "BGP Path pointer";
          }
    
          list received-label {
            description
              "Set of received label stack";
            leaf entry {
              type uint32;
              description
                "Set of received label stack";
            }
          }  // list received-label
        }  // grouping BGP-BMP-PATH-BAG
    
        grouping BGP-BMP-NET-BAG {
          description "BMP Table net details";
          container bgp-prefix {
            description "BGP prefix";
            uses BGP-PREFIXTYPE;
          }  // container bgp-prefix
    
          container version-timestamp {
            description
              "Net Version bump timestamp";
            uses BGP-TIMESPEC;
          }  // container version-timestamp
    
          container version-age {
            description "Net Version bump age";
            uses BGP-TIMESPEC;
          }  // container version-age
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf bmp-net-flags {
            type uint32;
            description
              "Flags associated with net";
          }
    
          leaf bmp-net-version {
            type uint32;
            description "Net's version";
          }
    
          leaf num-of-path {
            type uint32;
            description
              "Number of path for the net";
          }
    
          leaf has-local-label {
            type boolean;
            description
              "Flag to indicate if local label is present in
             netbag";
          }
    
          leaf net-local-label {
            type uint32;
            description "Local label";
          }
    
          list bmp-path {
            description
              "List of paths under the BMP net";
            uses BGP-BMP-PATH-BAG;
          }  // list bmp-path
        }  // grouping BGP-BMP-NET-BAG
    
        grouping BGP-RTSET {
          description "BGP RT-set";
          leaf rt-set-len {
            type uint8;
            units "byte";
            description
              "Length in bytes of set of route targets";
          }
    
          leaf rt-set-id {
            type uint32;
            description
              "Identifier of the rtset";
          }
    
          leaf rt-set-net-count {
            type uint32;
            description
              "Count of nets with paths with the rtset";
          }
    
          list rt-set {
            description "Set of route targets";
            leaf entry {
              type uint8;
              description "Set of route targets";
            }
          }  // list rt-set
        }  // grouping BGP-RTSET
    
        grouping BGP-RTSET-BAG {
          description "BGP RT-set information";
          container route-target-set {
            description "BGP route target set";
            uses BGP-RTSET;
          }  // container route-target-set
        }  // grouping BGP-RTSET-BAG
    
        grouping BGP-INT-NH-GW {
          description
            "BGP Internal Nexthop Gateway Information";
          leaf gateway-flags {
            type uint32;
            description
              "Flags in BGP gateway next hop";
          }
    
          leaf registration-type {
            type Bgp-nh-validate;
            description
              "Registration type for next hop";
          }
    
          leaf registration-since {
            type uint32;
            description
              "Time since registration";
          }
        }  // grouping BGP-INT-NH-GW
    
        grouping BGP-INT-NH {
          description
            "BGP Internal Nexthop information";
          container nexthop-address {
            description
              "IP address of the next hop in BGP";
            uses BGP-ADDRTYPE;
          }  // container nexthop-address
    
          leaf nexthop-id {
            type uint32;
            description "Comm librray ID";
          }
    
          leaf nexthop-version {
            type uint32;
            description "Table version";
          }
    
          leaf nexthop-flags {
            type uint32;
            description
              "Flags associated with the next hop address in
             BGP";
          }
    
          leaf nexthop-if-handle {
            type uint32;
            description
              "Interface handle associated with the next hop
             address in BGP";
          }
    
          leaf nexthop-af-user-bits {
            type uint32;
            description
              "Bitmask indicating the AFs which share the
             nexthop";
          }
    
          leaf nexthop-label {
            type uint32;
            description
              "Label associated with the next hop address";
          }
    
          leaf gateway-flags {
            type uint32;
            description
              "BGP nexthop gateway flags";
          }
    
          list nexthop-metrice {
            description
              "Metrices associated with the next hop address in
             
             BGP";
            leaf entry {
              type uint32;
              description
                "Metrices associated with the next hop address in
               
               BGP";
            }
          }  // list nexthop-metrice
    
          list nexthop-refcount {
            description
              "reference counts for the next hop";
            leaf entry {
              type uint32;
              description
                "reference counts for the next hop";
            }
          }  // list nexthop-refcount
    
          list nexthop-gateway-internal-info {
            description
              "Internal nexthop Gateway info";
            uses BGP-INT-NH-GW;
          }  // list nexthop-gateway-internal-info
        }  // grouping BGP-INT-NH
    
        grouping BGP-NEXTHOP-GW-INFO {
          description "BGP Nexthop GW info";
          container nexthop-route {
            description
              "Route resolving the nexthop";
            uses BGP-ADDRTYPE;
          }  // container nexthop-route
    
          leaf nexthop-route-prefix-length {
            type uint8;
            description
              "Prefix length of the route resolving the nexthop";
          }
    
          leaf nexthop-route-protocol {
            type string;
            description
              "Protocol that resolves the route to the nexthop";
          }
    
          leaf nexthop-route-path-count {
            type uint32;
            description
              "Count of paths in the resolving route";
          }
    
          leaf nexthop-af-invalid-bits {
            type uint16;
            description
              "Bitmask indicating the address-family which have
             been invalidated for the nexthop";
          }
    
          leaf nexthop-status {
            type uint8;
            description
              "Status of the next hop address";
          }
    
          leaf nexthop-tableid {
            type uint64;
            description
              "BGP gateway neighbor route table id";
          }
    
          leaf nexthop-metric {
            type uint32;
            description "IGP metric for nexthop";
          }
    
          leaf orrafi-used-bits {
            type uint32;
            description "ORR afi bits";
          }
    
          leaf last-event-type {
            type Bgp-nh-event;
            description
              "Last nexthop event type";
          }
    
          leaf last-update-type {
            type Bgp-nh-update;
            description
              "Last nexthop update type";
          }
    
          leaf critical-events {
            type uint32;
            description
              "Count of critical events received from RIB";
          }
    
          leaf non-critical-events {
            type uint32;
            description
              "Count of non-critical events received from RIB";
          }
    
          leaf last-event-since {
            type uint32;
            description
              "Time since the last event sent to or received
             from RIB";
          }
    
          leaf last-rib-update {
            type uint32;
            description
              "Time since the last rib update happened";
          }
    
          leaf nexthop-mpls-enabled {
            type boolean;
            description
              "TRUE if MPLS is configured for IAS/CsC
             application";
          }
    
          leaf nexthop-mpls-interfaces {
            type uint32;
            description
              "Count of interfaces on which MPLS is enabled";
          }
    
          leaf nexthop-mpls-label {
            type uint32;
            description
              "Local label allocated for IAS/CsC application";
          }
    
          list nexthop-route-path {
            description
              "Nexthop paths of the resolving route";
            uses BGP-ADDRTYPE;
          }  // list nexthop-route-path
        }  // grouping BGP-NEXTHOP-GW-INFO
    
        grouping BGP-NEXTHOP-BAG {
          description "BGP Nexthop info";
          container nexthop-address {
            description
              "IP address of nexthop in BGP";
            uses BGP-ADDRTYPE;
          }  // container nexthop-address
    
          container nh-tunnel {
            description "NH tunnel information";
            uses BGP-TE-TUNNEL;
          }  // container nh-tunnel
    
          container nexthop-internal-info {
            description "Internal nexthop info";
            uses BGP-INT-NH;
          }  // container nexthop-internal-info
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf rib-nexthop-id {
            type uint32;
            description "RIB Nexthop Id";
          }
    
          leaf nexthop-pending-registration {
            type uint8;
            description
              "Nexthop registration is pending";
          }
    
          leaf nexthop-reference-count {
            type uint32;
            description
              "Count of neighbors/prefixes referencing this
             nexthop";
          }
    
          leaf nh-reference-count-total {
            type uint32;
            description
              "Count of neighbors/prefixes referencing this
             nexthop (AFs)";
          }
    
          leaf nh-first-hop-if-handle {
            type xr:Interface-name;
            description
              "First-hop interface handle";
          }
    
          leaf nexthop-aigp-metric {
            type uint32;
            description
              "AIGP metrice of nexthop";
          }
    
          leaf nexthop-gateway-reachable {
            type boolean;
            description
              "Flag to indicate if Gateway is reachable";
          }
    
          leaf nexthop-gateway-prefix-connected {
            type boolean;
            description
              "Flag to indicate if Gateway resolved through
             Connected route";
          }
    
          leaf nexthop-gateway-prefix-length {
            type uint32;
            description "Gateway prefix length";
          }
    
          list nexthop-gateway-info {
            description
              "Gateway related info, including Optimal Route
             Reflector Gateways";
            uses BGP-NEXTHOP-GW-INFO;
          }  // list nexthop-gateway-info
    
          list neighbor-address {
            description "Neighbor Address List";
            uses BGP-ADDRTYPE;
          }  // list neighbor-address
        }  // grouping BGP-NEXTHOP-BAG
    
        grouping BGP-NEXTHOP-PERF-VRF-AF-BAG {
          description
            "BGP nexthop statistics for a VRF AF";
          leaf critical-notf-count {
            type uint32;
            description
              "Number of critical event notifications from RIB";
          }
    
          leaf noncritical-notf-count {
            type uint32;
            description
              "Number of non-critical event notifications from
             RIB";
          }
    
          leaf last-notf-bestpath-deletes {
            type uint32;
            description
              "Number of bestpath deletes due to last
             notification";
          }
    
          leaf last-notf-bestpath-changes {
            type uint32;
            description
              "Number of bestpath changes due to last
             notification";
          }
    
          leaf nh-sync-reg-calls {
            type uint32;
            description "NH sync register calls";
          }
    
          leaf nha-sync-reg-calls {
            type uint32;
            description
              "NH async register calls";
          }
    
          leaf nha-sync-un-reg-calls {
            type uint32;
            description
              "NH async unregister calls";
          }
    
          leaf nh-pending-registrations {
            type uint32;
            description
              "NH Registration List Count";
          }
    
          leaf nh-peak-registrations {
            type uint32;
            description
              "NH Registration List Count Peak";
          }
    
          leaf nh-batch-finish-calls {
            type uint32;
            description
              "Count of the batch finish calls for next hop";
          }
    
          leaf nh-flush-timer-calls {
            type uint32;
            description
              "Count of the flush timer calls for net hop";
          }
    
          leaf nh-last-sync-reg-ts {
            type uint32;
            description
              "NH Last sync Register TS";
          }
    
          leaf nh-last-a-sync-reg-ts {
            type uint32;
            description
              "NH Last async Register TS";
          }
    
          leaf nh-last-a-sync-un-reg-ts {
            type uint32;
            description
              "NH Last async UnRegister TS";
          }
    
          leaf nh-last-batch-finish-ts {
            type uint32;
            description
              "NH Last batch finish TS";
          }
    
          leaf nh-last-flush-timer-ts {
            type uint32;
            description "NH Last flush timer TS";
          }
    
          leaf nhrib-update-calls {
            type uint32;
            description
              "No. of calls to RIB update function";
          }
    
          leaf nhrib-update-time {
            type uint32;
            units "millisecond";
            description
              "Time spent sending RIB updates (milliseconds)";
          }
    
          leaf nexthops-sent-to-rib {
            type uint32;
            description
              "No. of nexthops sent to RIB";
          }
    
          leaf nexthops-resent-to-rib {
            type uint32;
            description
              "No. of nexthops re-sent to RIB";
          }
    
          leaf nexthops-removed-from-rib {
            type uint32;
            description
              "No. of nexthops withdrawn from RIB";
          }
    
          leaf rib-sync-registers-failed {
            type uint32;
            description
              "No. of sync registers with RIB that failed";
          }
    
          leaf riba-sync-registers-failed {
            type uint32;
            description
              "No. of async registers with RIB that failed";
          }
    
          leaf ribnh-reg-failed-for-no-tbl-id {
            type uint32;
            description
              "No. of nh registers failed because of no tbl-id";
          }
    
          leaf ribnh-reg-failed-for-no-rib-conn {
            type uint32;
            description
              "No. of nh registers failed because of no rib
             conn";
          }
    
          leaf tunnel-walk-nh-not-found {
            type uint32;
            description
              "No. of times nexthop was not found during tunnel
             walk";
          }
    
          leaf tunnel-walk-gw-not-found {
            type uint32;
            description
              "No. of times gw was not found during tunnel walk";
          }
    
          leaf tunnel-walk-backup-creates {
            type uint32;
            description
              "No. of times backup tid created during tunnel
             walk";
          }
        }  // grouping BGP-NEXTHOP-PERF-VRF-AF-BAG
    
        grouping BGP-NEXTHOP-VRF-AF-BAG {
          description
            "BGP nexthop processing information for a VRF AF";
          container performance-statistics {
            description
              "BGP next hop virtual routingand forwarding
             performancestatistics";
            uses BGP-NEXTHOP-PERF-VRF-AF-BAG;
          }  // container performance-statistics
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf gwaf-name {
            type Bgp-afi;
            description
              "GW Address family identifier";
          }
    
          leaf total-nexthops {
            type uint32;
            description
              "Total number of nexthops";
          }
    
          leaf critical-trigger-delay {
            type uint32;
            description
              "Trigger delay for critical event processing";
          }
    
          leaf non-critical-trigger-delay {
            type uint32;
            description
              "Trigger delay for non-critical event processing";
          }
    
          leaf table-active {
            type boolean;
            description
              "Whether the VRF is active";
          }
    
          leaf nh-rib-up {
            type boolean;
            description
              "Whether the VRF is active";
          }
    
          leaf nh-rib-version {
            type uint32;
            description "RIB version for gw_ctx";
          }
    
          leaf nh-nexthop-version {
            type uint32;
            description "NH version for gw_ctx";
          }
    
          leaf nh-table-id {
            type uint32;
            description
              "Gateway context table id";
          }
    
          leaf epe-table-version {
            type uint32;
            description
              "Version of the EPE table";
          }
    
          leaf epe-label-version {
            type uint32;
            description
              "Version of the EPE label walk";
          }
    
          leaf epe-downloaded-version {
            type uint32;
            description
              "Version of the EPE table downloaded";
          }
    
          leaf epe-standby-version {
            type uint32;
            description
              "Version of the EPE table processed by sync
             thread";
          }
        }  // grouping BGP-NEXTHOP-VRF-AF-BAG
    
        grouping BGP-UPDGEN-SUBGRP-BAG {
          description
            "BGP Update generation Sub-group information";
          container creation-timestamp {
            description "Creation time";
            uses BGP-TIMESPEC;
          }  // container creation-timestamp
    
          container last-merge-timestamp {
            description "Last merge time";
            uses BGP-TIMESPEC;
          }  // container last-merge-timestamp
    
          container first-update-walk-start-timestamp {
            description
              "BGP update generation sub-group start time for
             the first update walk";
            uses BGP-TIMESPEC;
          }  // container first-update-walk-start-timestamp
    
          container first-update-walk-end-timestamp {
            description
              "BGP update generation sub-group end time for
             thefirst update walk";
            uses BGP-TIMESPEC;
          }  // container first-update-walk-end-timestamp
    
          container last-update-walk-start-timestamp {
            description
              "BGP update generation sub-group start for
             thelast update";
            uses BGP-TIMESPEC;
          }  // container last-update-walk-start-timestamp
    
          container last-update-walk-end-timestamp {
            description
              "BGP update generation sub-group end time for
             thelast update";
            uses BGP-TIMESPEC;
          }  // container last-update-walk-end-timestamp
    
          container last-update-queued-timestamp {
            description
              "Time when last update queued event";
            uses BGP-TIMESPEC;
          }  // container last-update-queued-timestamp
    
          container update-statistics {
            description
              "BGP subgroup statistics update";
            uses BGP-UPDGEN-STATS-BAG;
          }  // container update-statistics
    
          leaf process-id {
            type uint32;
            description "ProcessID";
          }
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf sub-group-index-xr {
            type uint32;
            description
              "Index for BGP sub-group";
          }
    
          leaf sub-group-id-xr {
            type uint32;
            description "Sub-group ID";
          }
    
          leaf parent-sub-group-index {
            type uint32;
            description
              "Index of the  parent sub-group";
          }
    
          leaf parent-sub-group-id {
            type uint32;
            description
              "Parent Sub-group identifier";
          }
    
          leaf update-group-index-xr {
            type uint32;
            description
              "Index of the this BGp update group";
          }
    
          leaf update-main-table-version {
            type uint32;
            description "Main table version";
          }
    
          leaf update-vrf-table-rib-version {
            type uint32;
            description "VRF Table RIB version";
          }
    
          leaf current-update-limit-sub-group {
            type uint32;
            description "Current update limit";
          }
    
          leaf configured-update-limit-sub-group {
            type uint32;
            description
              "Configured update limit";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue messages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue size";
          }
    
          leaf update-throttled {
            type boolean;
            description
              "Flag to verify update throttled in BGPupdate
             generation sub-group";
          }
    
          leaf refresh-sub-group-count {
            type uint32;
            description
              "Number of times BGP Update generation
             sub-grouprefreshed";
          }
    
          leaf filter-group-count {
            type uint32;
            description
              "Number of filter groups are present in BGPupdate
             generation";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "Number of neighbors in the sub-group";
          }
    
          leaf version {
            type uint32;
            description
              "Version up to which we have generated updatesfor
             the entity";
          }
    
          leaf nsr-version {
            type uint32;
            description "NSR version";
          }
    
          leaf pending-target-version {
            type uint32;
            description
              "Target version for pending update generation";
          }
    
          leaf next-resume-version {
            type uint32;
            description
              "Version number identifying the next net
             toprocess when an attribute table walk has been
             interrupted";
          }
    
          leaf update-refresh-target-version {
            type uint32;
            description
              "Target version for update generation in response
             to arefresh request";
          }
    
          leaf io-write-event-pending {
            type boolean;
            description
              "Flag for an event has been sent to the IO thread";
          }
    
          leaf merge-count {
            type uint32;
            description
              "Number of times BGP update sub-groups have been
             merged";
          }
    
          leaf last-merged-sub-group-index {
            type uint32;
            description
              "BGP subgroup index merge happened last time";
          }
    
          leaf eo-r-attempted {
            type boolean;
            description
              "Sending EoR has been attempted";
          }
    
          leaf last-update-walk-end-age {
            type uint32;
            description
              "Time since last update walk end event";
          }
    
          leaf last-update-queued-age {
            type uint32;
            units "second";
            description
              "Time since last update queued event (in seconds)";
          }
        }  // grouping BGP-UPDGEN-SUBGRP-BAG
    
        grouping BGP-ATTR-BAG {
          description
            "BGP attribute information";
          container attribute-info {
            description "Attributes";
            uses BGP-ATTR;
          }  // container attribute-info
    
          leaf process-instance-id {
            type uint8;
            description
              "BGP attribute process instance ID";
          }
    
          leaf attribute-instance-id {
            type uint8;
            description
              "Instance ID for BGP attribute context ";
          }
    
          leaf attribute-structure-id {
            type uint32;
            description
              "BGP ID of attribute structure information";
          }
    
          leaf attribute-structure-hash-value {
            type uint32;
            description
              "Hash value for attribute structure";
          }
    
          leaf reference-count {
            type uint32;
            description
              "Number of paths which use this attribute
             structure";
          }
        }  // grouping BGP-ATTR-BAG
    
        grouping BGP-UPD-FILTERGRP {
          description
            "Update filter-group entry";
          leaf update-filter-group-number {
            type uint32;
            description "Update sub-group index";
          }
    
          leaf rts {
            type uint32;
            description
              "RT count per filter group";
          }
    
          leaf fgroup-flags {
            type uint8;
            description "Flags per filter group";
          }
    
          leaf fgroup-neighbors {
            type uint16;
            description "Nbrs per filter group";
          }
    
          leaf fgroup-created-message-elements {
            type uint32;
            description
              "Number of message elems created for filtergroup";
          }
    
          leaf fgroup-deleted-message-elements {
            type uint32;
            description
              "Number of message elems deleted";
          }
    
          leaf fgroup-queued-message-elements {
            type uint32;
            description
              "Number of message elems queued";
          }
    
          leaf fgroup-advertised-prefixes {
            type uint32;
            description
              "Number of prefixes advertised to filtergroup in
             last update walk";
          }
    
          leaf fgroup-total-advertised-prefixes {
            type uint32;
            description
              "Number of prefixes advertised to filtergroup in
             all update walk";
          }
    
          leaf fgroup-withdrawn-prefixes {
            type uint32;
            description
              "Number of prefixes withdrawn f`rom filtergroupin
             last update walk";
          }
    
          leaf fgroup-total-withdrawn-prefixes {
            type uint32;
            description
              "Number of prefixes withdrawn f`rom filtergroupin
             all update walk";
          }
    
          leaf fgroup-total-non-optimised-prefixes {
            type uint32;
            description
              "Number of prefixes  non-optm from filtergroupin
             all update walk";
          }
    
          leaf fgroup-skipped-prefixes {
            type uint32;
            description
              "Number of prefixes skipped for filtergroup in
             last update walk";
          }
    
          leaf fgroup-suppressed-prefixes {
            type uint32;
            description
              "Number of prefixes suppressed for filtergroup in
             last update walk";
          }
    
          leaf is-rt-present {
            type boolean;
            description
              "RT attribute list present";
          }
    
          list extended-community {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community
    
          list neighbor {
            description
              "Neighbors in this update sub-group";
            uses BGP-ADDRTYPE;
          }  // list neighbor
        }  // grouping BGP-UPD-FILTERGRP
    
        grouping BGP-UPD-SUBGRP {
          description "Update sub-group entry";
          leaf update-sub-group-number {
            type uint32;
            description "Update sub-group index";
          }
    
          leaf filter-group {
            type uint16;
            description
              "Update sub-group fgrp-num";
          }
    
          leaf wait-for-eo-rs {
            type boolean;
            description "Wait for  RT Nbr EoRs";
          }
    
          list update-filter-group {
            description "Update f-group list";
            uses BGP-UPD-FILTERGRP;
          }  // list update-filter-group
    
          list neighbor {
            description
              "Neighbors in this subgrp not in any filtergrp";
            uses BGP-ADDRTYPE;
          }  // list neighbor
        }  // grouping BGP-UPD-SUBGRP
    
        grouping BGP-PROCESS-WDR-STATS {
          description "BGP Withdraw Stats info";
          container last-updated-time {
            description "Last update time";
            uses BGP-TIMESPEC;
          }  // container last-updated-time
    
          leaf not-advertised-count {
            type uint32;
            description "Not advertised count";
          }
        }  // grouping BGP-PROCESS-WDR-STATS
    
        grouping BGP-PERF-UPDGRP {
          description "BGP PERF UPDGRP";
          leaf update-generation-calls {
            type uint32;
            description
              "No. of calls to update generation function";
          }
    
          leaf update-generation-prefixes-count {
            type uint32;
            description
              "No. of prefixes updates generated for";
          }
    
          leaf update-generation-be-prefixes-count {
            type uint32;
            description
              "No. of be prefixes updates generated for";
          }
    
          leaf update-generation-messages-count {
            type uint32;
            description
              "No. of update messages generated";
          }
    
          leaf update-generation-time {
            type uint32;
            units "millisecond";
            description
              "Time spent generating updates (milliseconds)";
          }
    
          leaf updgen-timer-start-time {
            type uint64;
            description
              "Timestamp when update timer started for updgrp";
          }
    
          leaf updgen-timer-stop-time {
            type uint64;
            description
              "Timestamp when update timer stopped for updgrp";
          }
    
          leaf updgen-timer-process-time {
            type uint64;
            description
              "Timestamp when update timer processed for updgrp";
          }
    
          list not-advertised-stat {
            max-elements 35;
            description
              "Not Advertised Statistics";
            uses BGP-PROCESS-WDR-STATS;
          }  // list not-advertised-stat
        }  // grouping BGP-PERF-UPDGRP
    
        grouping BGP-UPDGRP-BAG {
          description
            "BGP Update Group information";
          container performance-statistics {
            description
              "Aggregated performance statisticsacross all VRFs
             belonging to theparent address family";
            uses BGP-PERF-UPDGRP;
          }  // container performance-statistics
    
          leaf process-instance-id {
            type uint8;
            description
              "Instance ID of the BGP processwhere the path
             originated";
          }
    
          leaf session-af-name {
            type uint8;
            description
              "Neighbor session Address family";
          }
    
          leaf update-group-number {
            type uint32;
            description "Update group index";
          }
    
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family for update group";
          }
    
          leaf should-send-communities {
            type boolean;
            description "Send communities";
          }
    
          leaf should-send-ext-communities {
            type boolean;
            description
              "Send Extended communities";
          }
    
          leaf should-send-stitching-rt {
            type boolean;
            description "Send Stitching RT";
          }
    
          leaf has-orf-receive-capability {
            type boolean;
            description "ORF receive capability";
          }
    
          leaf is-route-reflector-client {
            type boolean;
            description
              "Flag to indicate if peers in this update group
             are route-reflector clients";
          }
    
          leaf is-client-reflection-disabled {
            type boolean;
            description
              "True if client-to-client reflection is disabled ";
          }
    
          leaf accepts-legacy-pe-rt-route {
            type boolean;
            description
              "Flag to indicate if provider edge device as a
             legacy for the route target";
          }
    
          leaf updgrp-cluster-id {
            type uint32;
            description
              "Cluster ID (populated ifclient-to-client
             reflectionis disabled)";
          }
    
          leaf updgrp-cluster-type {
            type uint8;
            description
              "Cluster ID type:undefined/number/Ip address";
          }
    
          leaf orr-group-name {
            type string;
            description "ORR Group Name";
          }
    
          leaf orr-group-index {
            type uint32;
            description "ORR Group Index";
          }
    
          leaf is-orr-root-address-configured {
            type boolean;
            description
              "ORR Root address configuredfor the neighbor
             connection";
          }
    
          leaf should-remove-private-a-ss {
            type boolean;
            description
              "Remove private AS numbers";
          }
    
          leaf should-remove-private-as-ent-path {
            type boolean;
            description
              "Remove private AS numbersif the entire path
             consistsof private ASes";
          }
    
          leaf use-next-hop-self {
            type boolean;
            description "Next hop self";
          }
    
          leaf use-next-hop-unchanged-mpath {
            type boolean;
            description
              "This update group have
             next-hop-unchangedmultipath configured";
          }
    
          leaf is-internal-peers {
            type boolean;
            description
              "Peers in this update groupare internal";
          }
    
          leaf is-common-admin-peers {
            type boolean;
            description
              "Flag to indicate if peers are undercommon
             administration in BGP update group";
          }
    
          leaf is4-byte-as-peer {
            type boolean;
            description
              "4-byte AS capable peers";
          }
    
          leaf is-addpath-capable {
            type boolean;
            description "Add-path capable peers";
          }
    
          leaf is-send-mcast-attr-enabled {
            type boolean;
            description
              "Flag to indicate if protocol independent
             multicast attributes are sent in this update
             group";
          }
    
          leaf is-aigp-capable {
            type boolean;
            description "AIGP capable peers";
          }
    
          leaf is-aigp-cost-community-capable {
            type boolean;
            description
              "Send AIGP cost community to peers";
          }
    
          leaf is-aigp-med-capable {
            type boolean;
            description "Send AIGP cost in MED";
          }
    
          leaf is-llgr-capable {
            type boolean;
            description
              "Send Long-lived Stale paths";
          }
    
          leaf is-adv-capable {
            type boolean;
            description "Send tranlsated paths";
          }
    
          leaf is-adv-reorg-capable {
            type boolean;
            description "Send Re-orig paths";
          }
    
          leaf disable-native-advertisement {
            type boolean;
            description
              "Disable advertising native routes";
          }
    
          leaf disable-def-vrf-imp-advertisement {
            type boolean;
            description
              "Disable advertising default VRF  imported routes";
          }
    
          leaf disable-vrf-re-imp-advertisement {
            type boolean;
            description
              "Disable advertising VRF re-imported routes";
          }
    
          leaf encapsulation-type {
            type uint32;
            description
              "BGP update group encapsulation type";
          }
    
          leaf advertise-rt-type {
            type uint8;
            description
              "BGP update group toadvertise route target type";
          }
    
          leaf is-directly-connected-ebgp-v6-peers {
            type boolean;
            description
              "Flag to indicate an update group is directly
             connected eBGP peers";
          }
    
          leaf minimum-advertisement-interval {
            type uint32;
            units "second";
            description
              "Minimum advert time for peers in this
             update-group in seconds";
          }
    
          leaf minimum-advertisement-interval-msecs {
            type uint32;
            units "millisecond";
            description
              "Minimum advert time for peers inthis update
             group in milliseconds";
          }
    
          leaf local-as {
            type uint32;
            description "Local AS number";
          }
    
          leaf route-policy-out {
            type string;
            description
              "Outbound route policy name";
          }
    
          leaf desync-count {
            type uint32;
            description
              "Number of times the update has been
             desynchronized";
          }
    
          leaf subgrp-merge-count {
            type uint32;
            description
              "Number of times sub-groups have been merged";
          }
    
          leaf refresh-subgrp-count {
            type uint32;
            description
              "Current count of refresh subgroups";
          }
    
          leaf updates-formatted {
            type uint32;
            description
              "Number of updates formatted";
          }
    
          leaf updates-replicated {
            type uint32;
            description
              "Number of updates replicatedfor BGP update group";
          }
    
          leaf local-as-replace-as {
            type boolean;
            description
              "Local AS Replace-AS option";
          }
    
          leaf as-override {
            type boolean;
            description "AS Override option";
          }
    
          leaf soo-value {
            type string;
            description "Site-of-origin value";
          }
    
          leaf split-horizon {
            type boolean;
            description "Split horizon check";
          }
    
          leaf is-labeled-afi-enabled {
            type boolean;
            description
              "Update group has labeled AFI enabled";
          }
    
          leaf is-unlabeled-afi-enabled {
            type boolean;
            description
              "Update group has unlabeled AFI enabled";
          }
    
          leaf ext-nh-encoding {
            type boolean;
            description
              "Extended nexthop encoding cap received";
          }
    
          leaf remote-as {
            type uint32;
            description "Remote AS number";
          }
    
          leaf is-adv-perm-net-capable {
            type boolean;
            description
              "Advertise Permanent-Net capable peers";
          }
    
          leaf should-send-gshut-community {
            type boolean;
            description "Send GSHUT community";
          }
    
          leaf gshut-active {
            type boolean;
            description "GSHUT active";
          }
    
          leaf gshut-locpref-set {
            type boolean;
            description
              "GSHUT local preference set";
          }
    
          leaf gshut-locpref {
            type uint32;
            description "GSHUT local preference";
          }
    
          leaf gshut-prepends {
            type uint8;
            description "GSHUT AS prepends";
          }
    
          leaf advertise-local-labeled-route-unicast {
            type boolean;
            description
              "Advertise routes with local-label via Unicast
             SAFI";
          }
    
          leaf enable-label-stack {
            type boolean;
            description
              "Enable BGP upgrade group label stack";
          }
    
          leaf contains-slow-peer {
            type boolean;
            description
              "This update group contains slow peers";
          }
    
          list neighbor {
            description
              "Neighbors in this update group which are not in
             any sub-group";
            uses BGP-ADDRTYPE;
          }  // list neighbor
    
          list update-sub-group {
            description
              "List of child refresh subgroups inBGP update
             group";
            uses BGP-UPD-SUBGRP;
          }  // list update-sub-group
        }  // grouping BGP-UPDGRP-BAG
    
        grouping BGP-STATIC-ROUTES-BAG {
          description
            "BGP static routes information";
          container sourced-prefix {
            description "Prefix length";
            uses BGP-PREFIXTYPE;
          }  // container sourced-prefix
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf is-backdoor {
            type boolean;
            description
              "TRUE if net is a backdoor route";
          }
        }  // grouping BGP-STATIC-ROUTES-BAG
    
        grouping BGP-GLOBAL-PROCESS-INFO-AF-VRF {
          description
            "BGP GLOBAL PROCESS INFO AF VRF";
          leaf table-is-active {
            type boolean;
            description "Table state is active";
          }
    
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf def-orig-enabled {
            type boolean;
            description
              "Default Orig enabled for a vrf afi";
          }
    
          leaf table-version {
            type uint32;
            description
              "BGP global process table version info";
          }
    
          leaf rd-version {
            type uint32;
            description "RD version";
          }
    
          leaf rib-version {
            type uint32;
            description
              "Table version synced to RIB";
          }
    
          leaf nsr-conv-version {
            type uint32;
            description
              "Cache for non stop routingcurrent table version";
          }
    
          leaf nsr-is-conv {
            type boolean;
            description "NSR is converged";
          }
    
          leaf client-reflection-enabled {
            type boolean;
            description
              "Flag to indicate if client-to-client reflection
             is enabled";
          }
    
          leaf dampening-enabled {
            type boolean;
            description
              "Flag to enable BGP address-family dampening";
          }
    
          leaf ebgp-distance {
            type uint16;
            description
              "Distance for eBGP routes (external)";
          }
    
          leaf ibgp-distance {
            type uint16;
            description
              "Distance for iBGP routes (internal)";
          }
    
          leaf aggregates-distance {
            type uint16;
            description
              "Dist for aggregate routes (local)";
          }
    
          leaf dynamic-med-enabled {
            type boolean;
            description
              "Update generation enabled for MED change";
          }
    
          leaf dynamic-med-interval {
            type uint16;
            units "minute";
            description
              "Delay in update generation after a MED change
             (in minutes)";
          }
    
          leaf dynamic-med-timer-running {
            type boolean;
            description
              "Flag to indicate if dynamic multi exit
             discriminator (MED) timer is running";
          }
    
          leaf dynamic-med-timer-value {
            type uint16;
            units "second";
            description
              "Dynamic MED timer value (in seconds) left on the
             timer";
          }
    
          leaf dynamic-med-periodic-timer-running {
            type boolean;
            description
              "Dynamic multi exit discriminatorperiodic timer
             running";
          }
    
          leaf dynamic-med-periodic-timer-value {
            type uint16;
            units "second";
            description
              "Dynamic MED periodic timer value (in seconds)
             left on the timer";
          }
    
          leaf rib-has-converged {
            type boolean;
            description
              "Received convergence notification from RIB";
          }
    
          leaf rib-convergence-version {
            type uint32;
            description
              "Last convergence version received from RIB";
          }
    
          leaf is-rib-table-full {
            type boolean;
            description
              "Indicates if RIB table is in prefix-limit state";
          }
    
          leaf rib-table-full-version {
            type uint32;
            description
              "Version when RIB table became full (from
             non-full)";
          }
    
          leaf nexthop-resolution-minimum-prefix-length-configured {
            type boolean;
            description
              "Flag to indicate if nexthop resolution minimum
             prefix-length is configured";
          }
    
          leaf nexthop-resolution-minimum-prefix-length {
            type uint32;
            description
              "Used to validate prefix-length of resolving
             route of nexthopsin BGP";
          }
    
          leaf ipv6-nexthop-resolution-minimum-prefix-length-configured {
            type boolean;
            description
              "Flag to indicate if ipv6 nexthop resolution
             minimum prefix-length is configured";
          }
    
          leaf ipv6-nexthop-resolution-minimum-prefix-length {
            type uint32;
            description
              "Used to validate prefix-length of resolving
             route of ipv6 nexthopsin BGP";
          }
    
          leaf selective-ebgp-multipath-enabled {
            type boolean;
            description
              "Flag to indicate if the Selective option is
             configured with multipath external bgp";
          }
    
          leaf selective-ibgp-multipath-enabled {
            type boolean;
            description
              "Flag to indicate if the Selective option is
             configured with multipath internal bgp";
          }
    
          leaf selective-eibgp-multipath-enabled {
            type boolean;
            description
              "Flag to indicate if the Selective option is
             configured with multipath external internal bgp";
          }
    
          leaf rib-acked-table-version {
            type uint32;
            description
              "Table version acked by RIB";
          }
    
          leaf vrf-srv6-sid-alloc-mode {
            type uint32;
            description
              "SID alloc mode of SRv6 under Vrf";
          }
    
          leaf isvrf-srv6-enabled {
            type boolean;
            description "SRv6 info under a Vrf";
          }
    
          leaf vrf-srv6-locator {
            type string;
            description
              "SRv6 Locator Name under Vrf";
          }
    
          leaf vrf-all-srv6-locator {
            type string;
            description
              "SRv6 Locator Name under Vrf All";
          }
    
          leaf vrf-all-srv6-sid-alloc-mode {
            type uint32;
            description
              "SRv6 SID alloc mode under Vrf All";
          }
    
          leaf isvrfall-srv6-enabled {
            type boolean;
            description
              "SRv6 info under a Vrf All";
          }
    
          leaf rpki-version {
            type uint32;
            description
              "RPKI table version walked";
          }
    
          leaf rpki-soft-reconf-version {
            type uint32;
            description
              "RPKI soft reconfiguration version walked";
          }
        }  // grouping BGP-GLOBAL-PROCESS-INFO-AF-VRF
    
        grouping BGP-GLOBAL-PROCESS-INFO-AF-GBL {
          description
            "BGP GLOBAL PROCESS INFO AF GBL";
          container rib-install {
            description "RIB install info";
            uses BGP-RIB-INSTALL-TIME-INFO;
          }  // container rib-install
    
          leaf scanner-period {
            type uint16;
            units "second";
            description
              "Period (in seconds) of address-family scanner
             runs";
          }
    
          leaf nh-tunnel-version {
            type uint32;
            description "NH Tunnel Version";
          }
    
          leaf scan-prefixes {
            type uint32;
            description
              "Total prefixes of address-family scanned";
          }
    
          leaf scan-segment-prefixes {
            type uint32;
            description
              "Number of prefixes scanned in a segment of
             address-family";
          }
    
          leaf scan-segments {
            type uint8;
            description
              "Number of segments to scan all prefixes of
             address-family";
          }
    
          leaf inter-as-install-enabled {
            type boolean;
            description
              "Is inter-AS install to pim on ASBR enabled";
          }
    
          leaf global-mcast-enabled {
            type boolean;
            description
              "Flag to indicate if global routing table
             multicast is enabled";
          }
    
          leaf segmented-mcast-enabled {
            type boolean;
            description
              "Flag to indicate if BGP segmented multicast is
             enabled";
          }
    
          leaf gblafrpki-disable {
            type boolean;
            description
              "Prefix validation disabled";
          }
    
          leaf gblafrpki-use-validity {
            type boolean;
            description "Prefix v. use validity";
          }
    
          leaf gblafrpki-allow-invalid {
            type boolean;
            description
              "Prefix v. allow invalid";
          }
    
          leaf gblafrpki-signal-ibgp {
            type boolean;
            description "Prefix v. signal ibgp";
          }
    
          leaf update-wait-install-enabled {
            type boolean;
            description
              "Flag to wait for installation update";
          }
    
          leaf rib-ack-requests {
            type uint32;
            description
              "Counter for RIB ack requests";
          }
    
          leaf rib-acks-received {
            type uint32;
            description
              "Counter for RIB ack received";
          }
    
          leaf rib-slow-acks {
            type uint32;
            description
              "Counter for slow RIB acks";
          }
    
          leaf is-perm-net-cfg {
            type boolean;
            description
              "Permanent Network Enabled";
          }
    
          leaf perm-net-del-count {
            type uint16;
            description
              "Count of removed perm paths";
          }
    
          leaf perm-net-stale-del-count {
            type uint16;
            description
              "Count of stale perm paths";
          }
    
          leaf perm-net-stale-mark-count {
            type uint16;
            description
              "Count of stale marked perm paths";
          }
    
          leaf perm-net-insert-count {
            type uint16;
            description
              "Count of inserted perm paths";
          }
    
          leaf perm-net-existing-count {
            type uint16;
            description
              "Count of existing perm paths";
          }
    
          leaf perm-net-rpl-query-count {
            type uint16;
            description
              "Count of perm nets given by RPL";
          }
    
          leaf perm-net-rpl-process-count {
            type uint16;
            description
              "Count of perm nets processed in RPL";
          }
    
          leaf perm-nbr-count {
            type uint16;
            description
              "Count of neighbors configured with perm net";
          }
    
          leaf rib-perm-pelem-not-found-count {
            type uint16;
            description "";
          }
    
          leaf rib-perm-path-not-found-count {
            type uint16;
            description "";
          }
    
          leaf rib-perm-pelem-found-count {
            type uint16;
            description "";
          }
    
          leaf rib-reg-path-found-count {
            type uint16;
            description "";
          }
    
          leaf rib-perm-path-found-count {
            type uint16;
            description "";
          }
    
          leaf perm-pelem-free-count {
            type uint16;
            description
              "Count of freed perm pelems";
          }
    
          leaf perm-path-refresh-count {
            type uint16;
            description
              "Count of perm paths refreshed";
          }
    
          leaf perm-pelem-bump-count {
            type uint16;
            description
              "Count of bumped perm pelems";
          }
    
          leaf perm-pelem-all-bump-count {
            type uint16;
            description
              "Count of bumped perm pelems";
          }
    
          leaf af-srv6-sid-alloc-mode {
            type uint32;
            description
              "SID alloc mode of SRv6 under AF";
          }
    
          leaf af-srv6-locator {
            type string;
            description
              "SRv6 Locator Name under AF";
          }
    
          list syncgrp-version {
            max-elements 2;
            description "Sync-group Version";
            leaf entry {
              type uint32;
              description "Sync-group Version";
            }
          }  // list syncgrp-version
        }  // grouping BGP-GLOBAL-PROCESS-INFO-AF-GBL
    
        grouping BGP-GLOBAL-PROCESS-INFO-AF-BAG {
          description
            "BGP address family specific information common to
           all BGP processes";
          container global {
            description "Global information";
            uses BGP-GLOBAL-PROCESS-INFO-AF-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-GLOBAL-PROCESS-INFO-AF-VRF;
          }  // container vrf
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf af-name {
            type Bgp-afi;
            description "Address family id";
          }
    
          leaf is-nsr-enabled {
            type boolean;
            description
              "Non-stop routing enabled";
          }
        }  // grouping BGP-GLOBAL-PROCESS-INFO-AF-BAG
    
        grouping BGP-RPC-NEXTHOPSET {
          description "BGP RPC NEXTHOPSET";
          container nexthop-addr {
            description
              "List of multipath next-hops";
            uses BGP-ADDRTYPE;
          }  // container nexthop-addr
    
          leaf received-label {
            type uint32;
            description
              "Received labl for the path";
          }
        }  // grouping BGP-RPC-NEXTHOPSET
    
        grouping BGP-RPC-SET-BAG {
          description "BGP RPC SET BAG";
          leaf next-hop-xr {
            type uint32;
            description
              "Number of multipath next-hops";
          }
    
          leaf label {
            type uint32;
            description
              "Label assigned to the RPCnext-hop set";
          }
    
          leaf ref-count {
            type uint32;
            description
              "Reference for the count";
          }
    
          leaf srv6-sid-address {
            type Ipv6-address;
            description "SRv6 SID address value";
          }
    
          leaf srv6-sid-address-len {
            type uint32;
            description
              "SRv6 SID address Length";
          }
    
          leaf locator-format {
            type uint32;
            description "Locator Format";
          }
    
          list next-hop {
            description
              "List of multipath next-hops";
            uses BGP-RPC-NEXTHOPSET;
          }  // list next-hop
        }  // grouping BGP-RPC-SET-BAG
    
        grouping BGP-BMP-TBL-GBL-BAG {
          description
            "BMP Table global information";
          container bmp-version-wrap-time-spec {
            description "Version Wrap timestamp";
            uses BGP-TIMESPEC;
          }  // container bmp-version-wrap-time-spec
    
          container bmp-version-wrap-start-time-spec {
            description
              "Version Wrap handle start timestamp";
            uses BGP-TIMESPEC;
          }  // container bmp-version-wrap-start-time-spec
    
          container bmp-version-wrap-done-time-spec {
            description
              "Version Wrap handle Done timestamp";
            uses BGP-TIMESPEC;
          }  // container bmp-version-wrap-done-time-spec
    
          leaf bmp-route-monitoringe-enabled {
            type boolean;
            description
              "Is Route Monitoring mode enabled";
          }
    
          leaf bmp-table-version {
            type uint32;
            description "Table version";
          }
    
          leaf network-count {
            type uint32;
            description
              "Number of nets in the table";
          }
    
          leaf path-count {
            type uint32;
            description
              "Number of paths in the table";
          }
    
          leaf bmp-version-wrapped {
            type uint32;
            description
              "Number of times Table Version Wrapped";
          }
    
          leaf bmp-version-wrapped-tid {
            type uint32;
            description
              "Version Wrapped trigger thread id";
          }
    
          leaf bmp-version-inprogress {
            type boolean;
            description
              "Is Version wrap in progress";
          }
    
          leaf bmp-version-incremented {
            type boolean;
            description
              "Is Version being incremented";
          }
        }  // grouping BGP-BMP-TBL-GBL-BAG
    
        grouping BGP-PATH-BAG {
          description "BGP path";
          container advertised-neighbor {
            description
              "Advertised Neighbor Address. Valid in the case
             of Advertised table";
            uses BGP-ADDRTYPE;
          }  // container advertised-neighbor
    
          container path-information {
            description "BGP path information ";
            uses BGP-PATH;
          }  // container path-information
    
          container attributes-after-policy-in {
            description
              "Attributes after inbound policy applied. In the
             case of path type received-only this will be
             attributes before inbound policy";
            uses BGP-ATTR;
          }  // container attributes-after-policy-in
    
          leaf no-path {
            type boolean;
            description
              "No path exists. All 'sp_path' fields except
             'sp_path->bag_prefix' are invalid";
          }
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf process-instance-id {
            type uint8;
            description
              "BGP Process instance ID";
          }
    
          leaf label-oor {
            type boolean;
            description
              "LSD label space is exhausted";
          }
    
          leaf label-oor-version {
            type uint32;
            description
              "Label Version when OOR happens";
          }
    
          leaf label-fail {
            type boolean;
            description
              "LSD label allocation failed ";
          }
    
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path Route Distinguisher";
          }
    
          leaf source-route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path Source Route Distinguisher";
          }
    
          leaf original-source-route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path Original Source Route Distinguisher";
          }
    
          leaf prefix-version {
            type uint32;
            description
              "Version of BGP Prefix Table";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf source-vrf-name {
            type string;
            description "Name of the source VRF";
          }
    
          leaf srcaf-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
        }  // grouping BGP-PATH-BAG
    
        grouping BGP-PERF-PROCESS-AF-VRF {
          description "BGP PERF PROCESS AF VRF";
          container time-rib-coverged {
            description
              "Time last RIB ack was sent ";
            uses BGP-TIMESPEC;
          }  // container time-rib-coverged
    
          container time-rib-down {
            description
              "Time last RIB down wassent. This field is
             deprecated";
            uses BGP-TIMESPEC;
          }  // container time-rib-down
    
          container first-rib-table-full-timestamp {
            description
              "Timestamp when RIB table was full for the first
             time";
            uses BGP-TIMESPEC;
          }  // container first-rib-table-full-timestamp
    
          container last-rib-table-full-timestamp {
            description
              "Timestamp when RIB table was full for the last
             time";
            uses BGP-TIMESPEC;
          }  // container last-rib-table-full-timestamp
    
          container first-rib-table-has-space-timestamp {
            description
              "Timestamp when RIB table had space for the first
             time";
            uses BGP-TIMESPEC;
          }  // container first-rib-table-has-space-timestamp
    
          container last-rib-table-has-space-timestamp {
            description
              "Timestamp when RIB table had space for the last
             time";
            uses BGP-TIMESPEC;
          }  // container last-rib-table-has-space-timestamp
    
          container time-label-retain {
            description
              "Time last label retentiontriggered ";
            uses BGP-TIMESPEC;
          }  // container time-label-retain
    
          leaf update-generation-calls {
            type uint32;
            description
              "No. of calls to update generation function";
          }
    
          leaf update-generation-prefixes-count {
            type uint32;
            description
              "No. of prefixes updates generated for";
          }
    
          leaf update-generation-be-prefixes-count {
            type uint32;
            description
              "No. of be prefixes updates generated for";
          }
    
          leaf update-generation-messages-count {
            type uint32;
            description
              "No. of update messages generated";
          }
    
          leaf update-generation-time {
            type uint32;
            units "millisecond";
            description
              "Time spent generating updates (milliseconds)";
          }
    
          leaf rib-update-calls {
            type uint32;
            description
              "No. of calls to RIB update function";
          }
    
          leaf rib-update-time {
            type uint32;
            units "millisecond";
            description
              "Time spent sending RIB updates (milliseconds)";
          }
    
          leaf prefixes-sent-to-rib {
            type uint32;
            description
              "No. of prefixes sent to RIB";
          }
    
          leaf prefixes-resent-to-rib {
            type uint32;
            description
              "No. of prefixes re-sent to RIB";
          }
    
          leaf prefixes-not-sent-to-rib {
            type uint32;
            description
              "No. of prefixes not sent to RIB due to
             unsupported label stack size";
          }
    
          leaf prefixes-removed-from-rib {
            type uint32;
            description
              "No. of prefixes withdrawn from RIB";
          }
    
          leaf attributes-sent-to-rib {
            type uint32;
            description
              "No. of attributes sent to RIB";
          }
    
          leaf attributes-removed-from-rib {
            type uint32;
            description
              "No. of attributes withdrawn from RIB";
          }
    
          leaf attributes-recover-from-rib {
            type uint32;
            description
              "No. of attributes recovered from RIB";
          }
    
          leaf scanner-runs {
            type uint32;
            description
              "# of times scanner has run";
          }
    
          leaf scanner-time {
            type uint32;
            units "millisecond";
            description
              "Time spent running scanner (milliseconds)";
          }
    
          leaf rib-tbl-del-calls {
            type uint32;
            description
              "No. of rib update skipped on account of table
             delete";
          }
    
          leaf rib-tbl-invalid-calls {
            type uint32;
            description
              "No. of  rib update skipped due to table invalid";
          }
    
          leaf rib-tbl-skip-calls {
            type uint32;
            description
              "No. of rib update skipped";
          }
    
          leaf rib-tbl-local-label {
            type uint32;
            description
              "No. of rib update skipped. due to no local label";
          }
    
          leaf rib-tbl-retry {
            type uint32;
            description
              "No. of table rib retires.";
          }
    
          leaf time-last-update-sent {
            type uint32;
            units "second";
            description
              "Time last update was sent (seconds since Jan 1
             1970)";
          }
    
          leaf is-rib-table-full {
            type boolean;
            description
              "Indicates if RIB table is in prefix-limit state";
          }
    
          leaf rib-table-full-version {
            type uint32;
            description
              "Version when RIB table became full (from
             non-full)";
          }
    
          leaf first-rib-table-full-version {
            type uint32;
            description
              "Version when RIB table was full for the first
             time";
          }
    
          leaf last-rib-table-full-version {
            type uint32;
            description
              "Version when RIB table was full for the last
             time";
          }
    
          leaf last-rib-table-full-age {
            type uint32;
            units "second";
            description
              "Time since RIB table was full for the last time
             (in seconds)";
          }
    
          leaf first-rib-table-has-space-version {
            type uint32;
            description
              "Version when RIB table had space for the first
             time";
          }
    
          leaf last-rib-table-has-space-version {
            type uint32;
            description
              "Version when RIB table had space for the last
             time";
          }
    
          leaf last-rib-table-has-space-age {
            type uint32;
            units "second";
            description
              "Times since RIB table had space for the last
             time (in seconds)";
          }
    
          leaf rib-trigger {
            type boolean;
            description "Rib trigger enabled";
          }
    
          leaf vrf-flags {
            type uint32;
            description
              "VRF flags for debug display";
          }
    
          leaf label-calls {
            type uint32;
            description
              "No. of calls to label allocation processing
             function";
          }
    
          leaf label-time {
            type uint32;
            units "millisecond";
            description
              "Time spent running label processing
             (milliseconds)";
          }
    
          leaf label-rewrite-count {
            type uint32;
            description
              "Number of label rewrites created";
          }
    
          leaf label-release-count {
            type uint32;
            description
              "Number of labels released";
          }
    
          leaf label-added-count {
            type uint32;
            description
              "Number of labels requested";
          }
    
          leaf import-calls {
            type uint32;
            description
              "Number of calls to import processing function";
          }
    
          leaf import-time {
            type uint32;
            units "millisecond";
            description
              "Time spent in import processing (milliseconds)
             Note time accounted against source nets.";
          }
    
          leaf import-src-net-processed-count {
            type uint32;
            description
              "Number of source nets processed";
          }
    
          leaf import-dest-net-processed-count {
            type uint32;
            description
              "Number of destination nets processed";
          }
    
          leaf import-added-path-count {
            type uint32;
            description
              "Number of imported paths added";
          }
    
          leaf import-removed-path-count {
            type uint32;
            description
              "Number of imported paths removed";
          }
    
          leaf import-replaced-path-count {
            type uint32;
            description
              "Number of imported paths ";
          }
    
          leaf update-group-count {
            type uint32;
            description "No. of update group";
          }
    
          leaf subgroup-count {
            type uint32;
            description "No. of update subgroup";
          }
        }  // grouping BGP-PERF-PROCESS-AF-VRF
    
        grouping BGP-PERF-PROCESS-AF-GBL {
          description "BGP PERF PROCESS AF GBL";
          leaf has-converged {
            type boolean;
            description
              "TRUE if process has converged";
          }
    
          leaf first-nbr-up-time {
            type uint32;
            units "second";
            description
              "Time when first peer came up (seconds since Jan
             1 1970)";
          }
    
          leaf total-pim-install {
            type uint32;
            description
              "Total number of install to PIM";
          }
    
          leaf total-pim-callbacks {
            type uint32;
            description
              "Total number of PIM callbacks";
          }
    
          leaf total-pim-callback-batch {
            type uint32;
            description
              "Total number of Pim callback batches";
          }
    
          list mode-enter-time {
            max-elements 7;
            description
              "Time that each mode was entered (seconds since
             
             Jan 1 1970)";
            leaf entry {
              type uint32;
              units "second";
              description
                "Time that each mode was entered (seconds since
               
               Jan 1 1970)";
            }
          }  // list mode-enter-time
    
          list total-pim-install-add {
            max-elements 7;
            description
              "Total number of install to PIM for add";
            leaf entry {
              type uint32;
              description
                "Total number of install to PIM for add";
            }
          }  // list total-pim-install-add
    
          list total-pim-install-del {
            max-elements 7;
            description
              "Total number of install to PIM for del";
            leaf entry {
              type uint32;
              description
                "Total number of install to PIM for del";
            }
          }  // list total-pim-install-del
    
          list total-pim-callback-add {
            max-elements 7;
            description
              "Total number of Pim callbacks for add";
            leaf entry {
              type uint32;
              description
                "Total number of Pim callbacks for add";
            }
          }  // list total-pim-callback-add
    
          list total-pim-callback-del {
            max-elements 7;
            description
              "Total number of Pim callbacks for del";
            leaf entry {
              type uint32;
              description
                "Total number of Pim callbacks for del";
            }
          }  // list total-pim-callback-del
    
          list total-pim-callback-add-local {
            max-elements 7;
            description
              "Total number of Pim callbacks for local add";
            leaf entry {
              type uint32;
              description
                "Total number of Pim callbacks for local add";
            }
          }  // list total-pim-callback-add-local
    
          list total-pim-callback-del-local {
            max-elements 7;
            description
              "Total number of Pim callbacks for Local del";
            leaf entry {
              type uint32;
              description
                "Total number of Pim callbacks for Local del";
            }
          }  // list total-pim-callback-del-local
        }  // grouping BGP-PERF-PROCESS-AF-GBL
    
        grouping BGP-PERF-PROCESS-AF {
          description "BGP PERF PROCESS AF";
          container global {
            description "Global information";
            uses BGP-PERF-PROCESS-AF-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-PERF-PROCESS-AF-VRF;
          }  // container vrf
        }  // grouping BGP-PERF-PROCESS-AF
    
        grouping BGP-PROCESS-INFO-AF-VRF {
          description "BGP PROCESS INFO AF VRF";
          leaf network-entry-count {
            type uint32;
            description
              "Number of network entries";
          }
    
          leaf paths-count {
            type uint32;
            description "Number of paths";
          }
    
          leaf imported-paths {
            type uint32;
            description
              "Number of imported paths";
          }
    
          leaf local-paths {
            type uint32;
            description "Number of local paths";
          }
    
          leaf path-elems-count {
            type uint32;
            description "Number of path elems";
          }
    
          leaf path-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by path data";
          }
    
          leaf imported-path-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by imported paths";
          }
    
          leaf local-path-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by local paths";
          }
    
          leaf prefix-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by prefix data";
          }
    
          leaf path-elem-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by pathelem data";
          }
    
          leaf received-path-count {
            type uint32;
            description
              "Number of (unused) received paths for inbound
             soft reconfiguration";
          }
    
          leaf history-path-count {
            type uint32;
            description
              "Number of history paths (for dampening)";
          }
    
          leaf damped-path-count {
            type uint32;
            description
              "Number of dampened paths";
          }
    
          leaf malloced-prefix-count {
            type uint32;
            description
              "Activity: Number of prefixes malloced";
          }
    
          leaf freed-prefix-count {
            type uint32;
            description
              "Activity: Number of prefixes freed";
          }
    
          leaf malloced-path-count {
            type uint32;
            description
              "Activity: Number of paths malloced";
          }
    
          leaf freed-path-count {
            type uint32;
            description
              "Activity: Number of paths freed";
          }
    
          leaf malloced-path-elem-count {
            type uint32;
            description
              "Activity: Number of path elems malloced";
          }
    
          leaf freed-path-elem-count {
            type uint32;
            description
              "Activity: Number of pathelems freed";
          }
    
          leaf any-ebgp-neighbor-missing-policy {
            type boolean;
            description
              "Is there any neighbor which is missing either
             inbound or outbound or both routing policy for
             this address family?";
          }
    
          leaf attribute-download {
            type boolean;
            description
              "BGP virtual routing and forwarding attribute
             download ";
          }
    
          leaf route-target-download {
            type boolean;
            description
              "Route Target download is enabled";
          }
    
          leaf srms-prefix-sid {
            type boolean;
            description "SRMS Prefix SID is ";
          }
    
          leaf add-path-install-enable {
            type boolean;
            description
              "Additional paths installation is enabled";
          }
    
          leaf add-path-install-disable {
            type boolean;
            description
              "Additional paths installation is disabled";
          }
    
          leaf best-external {
            type boolean;
            description
              "Best External is enabled";
          }
    
          leaf best-external-disable {
            type boolean;
            description
              "Best External is enabled";
          }
    
          leaf best-external-labeled-unicast {
            type boolean;
            description
              "Best External is limited toLabeled-Unicast";
          }
    
          leaf label-retain {
            type boolean;
            description
              "Label retention is enabled";
          }
    
          leaf label-retainvalue {
            type uint32;
            description
              "Label retention value enabled";
          }
    
          leaf tbl-bitf-size {
            type uint16;
            description "Bitfield size on table";
          }
    
          leaf tbl-chunk-bitf-size {
            type uint16;
            description
              "Chunk Bitfield size on table";
          }
    
          leaf tbl-filter-group-bitf-resize-pending {
            type boolean;
            description
              "Filter Group bitfield resize is pending for this
             table";
          }
    
          leaf is-route-reflector {
            type boolean;
            description
              "Router is an RR for this AF";
          }
    
          leaf asbr {
            type boolean;
            description
              "Router is an ASBR for this AF";
          }
    
          leaf retain-rt-all {
            type boolean;
            description "Retain-RT-All enabled";
          }
    
          leaf ibgp-nexthop-self-count {
            type uint32;
            description
              "Number of iBGP sessions configured with nh-self";
          }
    
          leaf use-igpsr-label {
            type boolean;
            description
              "Use IGP SR label for resolution";
          }
    
          leaf bmp-network-entry-count {
            type uint32;
            description
              "Number of BMP net entries";
          }
    
          leaf bmp-paths-count {
            type uint32;
            description
              "Total Number of BMP paths";
          }
    
          leaf bmp-prefix-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by prefix data";
          }
    
          leaf bmp-path-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by path data";
          }
        }  // grouping BGP-PROCESS-INFO-AF-VRF
    
        grouping BGP-RIB-INSTALL-TIME-INFO {
          description
            "BGP RIB INSTALL TIME INFO";
          container update-time {
            description
              "The time taken for routing information base
             download ";
            uses BGP-TIMESPEC;
          }  // container update-time
    
          container install-time {
            description
              "The time taken for the route installation ";
            uses BGP-TIMESPEC;
          }  // container install-time
    
          leaf installed-count {
            type uint32;
            description
              "Count of installed routes";
          }
    
          leaf modified-count {
            type uint32;
            description
              "Count of modified routes";
          }
    
          leaf skipped-count {
            type uint32;
            description
              "Count of skipped routes";
          }
    
          leaf withdrawn-count {
            type uint32;
            description
              "Count of withdrawn routes";
          }
    
          leaf start-version {
            type uint32;
            description
              "Start version of the BGP routing information
             base ";
          }
    
          leaf target-version {
            type uint32;
            description
              "Target version of BGProuting information
             baseupdate ";
          }
        }  // grouping BGP-RIB-INSTALL-TIME-INFO
    
        grouping BGP-THREAD-TRIGGER-INFO-STAT {
          description
            "BGP THREAD TRIGGER INFO STAT";
          container trigger-time-spec {
            description
              "Timestamp when the thread was triggered ";
            uses BGP-TIMESPEC;
          }  // container trigger-time-spec
    
          leaf trigger-version {
            type uint32;
            description
              "The thread version last timethe thread is run";
          }
    
          leaf trigger-table-version {
            type uint32;
            description "TriggerTableVersion";
          }
        }  // grouping BGP-THREAD-TRIGGER-INFO-STAT
    
        grouping BGP-THREAD-TRIGGER-INFO {
          description "BGP THREAD TRIGGER INFO";
          leaf triggers {
            type uint32;
            description
              "Number of times the threadwas triggered";
          }
    
          list statistic {
            description
              "stats recorded per trigger";
            uses BGP-THREAD-TRIGGER-INFO-STAT;
          }  // list statistic
        }  // grouping BGP-THREAD-TRIGGER-INFO
    
        grouping BGP-PROCESS-INFO-AF-GBL {
          description "BGP PROCESS INFO AF GBL";
          container version-wrap-time-spec {
            description "Version Wrap timestamp";
            uses BGP-TIMESPEC;
          }  // container version-wrap-time-spec
    
          container version-wrap-start-time-spec {
            description
              "Version Wrap handle start timestamp";
            uses BGP-TIMESPEC;
          }  // container version-wrap-start-time-spec
    
          container version-wrap-done-time-spec {
            description
              "Version Wrap handle Done timestamp";
            uses BGP-TIMESPEC;
          }  // container version-wrap-done-time-spec
    
          container trigger-rib {
            description "Trigger RIB";
            uses BGP-THREAD-TRIGGER-INFO;
          }  // container trigger-rib
    
          container trigger-import {
            description
              "Flag to keep track of import triggers to each of
             the threads";
            uses BGP-THREAD-TRIGGER-INFO;
          }  // container trigger-import
    
          container trigger-update {
            description
              "Flag to keep track of update triggers for each
             thread";
            uses BGP-THREAD-TRIGGER-INFO;
          }  // container trigger-update
    
          container trigger-label {
            description
              "Label to keep track of trigger for each thread";
            uses BGP-THREAD-TRIGGER-INFO;
          }  // container trigger-label
    
          container rib-install {
            description "RIB install info";
            uses BGP-RIB-INSTALL-TIME-INFO;
          }  // container rib-install
    
          leaf router-state {
            type Bgp-rtr-state;
            description
              "BGP router state for the address family ";
          }
    
          leaf table-version {
            type uint32;
            description
              "BGP main routing table version";
          }
    
          leaf version-wrapped {
            type uint32;
            description
              "Number of times Version Wrap happened";
          }
    
          leaf version-wrapped-tid {
            type uint32;
            description
              "Version Wrapped trigger tid";
          }
    
          leaf max-active-pelem-version {
            type uint32;
            description
              "Maximum Active Pelem Version";
          }
    
          leaf merged-table-version {
            type uint32;
            description
              "The merged Bgp table version after RPFO";
          }
    
          leaf route-download-go-active-done-pending {
            type uint32;
            description
              "To indicate whether routedownload go-active-done
             pulse is sent or not";
          }
    
          leaf rib-brib-received-version {
            type uint32;
            description "Version received from ";
          }
    
          leaf table-brib-version {
            type uint32;
            description
              "Version sent to RIB/bRIB";
          }
    
          leaf label-version {
            type uint32;
            description
              "Version updated by label thread";
          }
    
          leaf import-version {
            type uint32;
            description
              "Version updated by import thread";
          }
    
          leaf standby-version {
            type uint32;
            description
              "Version updated by sync thread";
          }
    
          leaf send-version {
            type uint32;
            description
              "Version for sending updates to peers";
          }
    
          leaf num-init-sync-pfx {
            type uint32;
            description
              "Num of prefix synced during Initsync";
          }
    
          leaf max-label-stack-depth-v4-next-hop {
            type uint32;
            description
              "Max supported label stack depth  for IPv4
             Nexthop";
          }
    
          leaf max-label-stack-depth-v6-next-hop {
            type uint32;
            description
              "Max supported label stack depth  for IPv6
             Nexthop";
          }
    
          leaf local-networks-num {
            type uint32;
            description "Total local networks";
          }
    
          leaf local-networks-memory {
            type uint32;
            description
              "Total number of networks memory in global BGP
             address-family ";
          }
    
          leaf local-networks-malloced-num {
            type uint32;
            description
              "Total number of networks for which memory is
             allocated";
          }
    
          leaf local-networks-freed-num {
            type uint32;
            description
              "Total local networks freed";
          }
    
          leaf local-paths-num {
            type uint32;
            description "Total local paths";
          }
    
          leaf local-paths-memory {
            type uint32;
            description
              "Total memory allocated for local paths in BGP
             process";
          }
    
          leaf local-paths-malloced-num {
            type uint32;
            description
              "Total local paths for which memory allocated";
          }
    
          leaf local-paths-freed-num {
            type uint32;
            description
              "Total local paths freed";
          }
    
          leaf imported-paths-num {
            type uint32;
            description "Total imported paths";
          }
    
          leaf imported-paths-memory {
            type uint32;
            description
              "Total memory allocated for imported paths in BGP
             process";
          }
    
          leaf networks-num {
            type uint32;
            description "Total Num of networks";
          }
    
          leaf networks-memory {
            type uint32;
            description
              "Total memory allocated for networks in BGP
             process";
          }
    
          leaf networks-malloced-num {
            type uint32;
            description
              "Total networks for which memory allocated";
          }
    
          leaf networks-freed-num {
            type uint32;
            description "Total networks freed";
          }
    
          leaf paths-num {
            type uint32;
            description "Total Num of paths";
          }
    
          leaf paths-memory {
            type uint32;
            description "Total paths memory";
          }
    
          leaf paths-malloced-num {
            type uint32;
            description
              "Total paths for which memory allocated";
          }
    
          leaf paths-freed-num {
            type uint32;
            description "Total paths freed";
          }
    
          leaf path-elems-num {
            type uint32;
            description
              "Total Num of path-elems";
          }
    
          leaf path-elems-memory {
            type uint32;
            description
              "Total memory allocated for path-elements in BGP
             process";
          }
    
          leaf path-elems-malloced-num {
            type uint32;
            description
              "Total memory allocated for path-element number";
          }
    
          leaf path-elems-freed-num {
            type uint32;
            description "Total path-elems freed";
          }
    
          leaf label-last-trigger {
            type uint64;
            description
              "Timestamp when Label thread is last triggered";
          }
    
          leaf last-label-version {
            type uint32;
            description
              "Label thread version when last triggered";
          }
    
          leaf label-bgp-version {
            type uint32;
            description
              "BGP version when label thread is last triggered";
          }
    
          leaf label-triggers {
            type uint32;
            description "Label thread triggers";
          }
    
          leaf rib-last-trigger {
            type uint64;
            description
              "Timestamp when RIB thread is last triggered";
          }
    
          leaf last-rib-version {
            type uint32;
            description
              "RIB thread version when last triggered";
          }
    
          leaf rib-bgp-version {
            type uint32;
            description
              "BGP version when RIB thread is last triggered";
          }
    
          leaf rib-triggers {
            type uint32;
            description "RIB thread triggers";
          }
    
          leaf import-last-trigger {
            type uint64;
            description
              "Timestamp when Import thread is last triggered";
          }
    
          leaf last-import-version {
            type uint32;
            description
              "Import thread version when last triggered";
          }
    
          leaf import-bgp-version {
            type uint32;
            description
              "BGP version when Import thread is last triggered";
          }
    
          leaf import-triggers {
            type uint32;
            description "Import thread triggers";
          }
    
          leaf update-gen-last-trigger {
            type uint64;
            description
              "Timestamp when Update generation thread is last
             triggered";
          }
    
          leaf update-gen-bgp-version {
            type uint32;
            description
              "BGP version when Update generation thread is
             last triggered";
          }
    
          leaf update-triggers {
            type uint32;
            description "Update thread triggers";
          }
    
          leaf total-r-ds-num {
            type uint32;
            description "Total Num of RDs";
          }
    
          leaf total-remote-r-ds-num {
            type uint32;
            description
              "Total Num of remote RDs";
          }
    
          leaf total-same-r-ds-num {
            type uint32;
            description "Total Num of same RDs";
          }
    
          leaf malloced-rd-count {
            type uint32;
            description
              "Activity: Number of RDs malloced";
          }
    
          leaf freed-rd-count {
            type uint32;
            description
              "Activity: Number of RDs freed";
          }
    
          leaf rd-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used by RD data";
          }
    
          leaf multipath-network-entry-count {
            type uint32;
            description
              "Number of multipath network entries";
          }
    
          leaf multipath-network-entry-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used bymultipath network
             entries";
          }
    
          leaf multipath-paths-count {
            type uint32;
            description
              "Number of multipath paths";
          }
    
          leaf multipath-paths-memory {
            type uint32;
            units "byte";
            description
              "Memory (in bytes) used bymultimpath paths";
          }
    
          leaf update-wait-install-enabled {
            type uint32;
            description
              "BGP process update wait until install is
             configured";
          }
    
          leaf rib-acked-table-version {
            type uint32;
            description
              "Table version acked by routing information base";
          }
    
          leaf rib-ack-requests {
            type uint32;
            description
              "Count for RIB ack requests";
          }
    
          leaf rib-acks-received {
            type uint32;
            description
              "Count for RIB ack received";
          }
    
          leaf rib-slow-acks {
            type uint32;
            description
              "Count for slow RIB acks";
          }
        }  // grouping BGP-PROCESS-INFO-AF-GBL
    
        grouping BGP-PROCESS-INFO-AF-BAG {
          description
            "BGP address family specific process information";
          container global {
            description "Global information";
            uses BGP-PROCESS-INFO-AF-GBL;
          }  // container global
    
          container vrf {
            description "VRF information";
            uses BGP-PROCESS-INFO-AF-VRF;
          }  // container vrf
    
          container performance-statistics {
            description
              "BGP process address familyperformance statistics
             info";
            uses BGP-PERF-PROCESS-AF;
          }  // container performance-statistics
    
          leaf af-name {
            type Bgp-afi;
            description "Address family id";
          }
    
          leaf process-instance {
            type uint8;
            description
              "ID for the BGP process instance";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
    
          leaf vrf-totals {
            type boolean;
            description
              "per VRF information aggregated across all VRFs";
          }
        }  // grouping BGP-PROCESS-INFO-AF-BAG
    
        grouping BGP-CONVERGENCE-BAG {
          description "BGP Convergence";
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf has-converged {
            type boolean;
            description
              "Convergence has been reached";
          }
    
          leaf are-write-queues-empty {
            type boolean;
            description
              "All neighbor write queues are empty";
          }
        }  // grouping BGP-CONVERGENCE-BAG
    
        grouping BGP-ATTR-RNH-ADDR {
          description "BGP ATTR RNH ADDR";
          leaf len {
            type Bgp-rnh-addr-len;
            description "len";
          }
    
          leaf ipv4-address {
            when "../len = 'v4'" {
              description "../len = 'v4'";
            }
            type inet:ipv4-address;
            description "IPv4 Addr";
          }
    
          leaf ipv6-address {
            when "../len = 'v6'" {
              description "../len = 'v6'";
            }
            type Ipv6-address;
            description "IPv6 Addr";
          }
    
          leaf mac-address {
            when "../len = 'mac'" {
              description "../len = 'Mac'";
            }
            type Mac-address;
            description "MAC Addr";
          }
        }  // grouping BGP-ATTR-RNH-ADDR
    
        grouping BGP-BAG-LARGECOMM {
          description "Large Community";
          leaf global-admin {
            type uint32;
            description "Global Administrator";
          }
    
          leaf local-data1 {
            type uint32;
            description "Local Data 1";
          }
    
          leaf local-data2 {
            type uint32;
            description "Local Data 2";
          }
        }  // grouping BGP-BAG-LARGECOMM
    
        grouping SR-SID {
          description "Segement id value";
          leaf type {
            type Sr-sid;
            description "Type";
          }
    
          leaf label {
            when "../type = 'label'" {
              description "../Type = 'Label'";
            }
            type uint32;
            description "MPLS Label value";
          }
    
          leaf ipv4-address {
            when "../type = 'ipv4'" {
              description "../Type = 'IPv4'";
            }
            type inet:ipv4-address;
            description "IPv4 Address value";
          }
    
          leaf ipv6-address {
            when "../type = 'ipv6'" {
              description "../Type = 'IPv6'";
            }
            type Ipv6-address;
            description "IPv6 address value";
          }
        }  // grouping SR-SID
    
        grouping SR-EXPPATH {
          description "SR Policy Explicit Path";
          leaf weight {
            type uint8;
            description "Weight of segment list";
          }
    
          list segment {
            description
              "Segments in segment list";
            uses SR-SID;
          }  // list segment
        }  // grouping SR-EXPPATH
    
        grouping BGP-BINDING-SID {
          description "BGP BINDING SID";
          leaf type {
            type Bgp-binding-sid;
            description "Type";
          }
    
          leaf label {
            when "../type = 'label'" {
              description "../Type = 'label'";
            }
            type uint32;
            description "MPLS Label";
          }
    
          leaf ipv6-address {
            when "../type = 'v6'" {
              description "../Type = 'v6'";
            }
            type Ipv6-address;
            description "IPv6 Addr";
          }
        }  // grouping BGP-BINDING-SID
    
        grouping BGP-SRPOLICY-ENTRY {
          description "SR policy Entry";
          container binding-sid {
            description
              "SR Policy incoming Binding sid";
            uses BGP-BINDING-SID;
          }  // container binding-sid
    
          container allocated-binding-sid {
            description
              "SR Policy allocated Binding sid by the router";
            uses BGP-BINDING-SID;
          }  // container allocated-binding-sid
    
          leaf tunnel-encap-type {
            type uint16;
            description
              "Tunnel Encapsulation Type";
          }
    
          leaf preference {
            type uint32;
            description "SR Policy Preference";
          }
    
          leaf state {
            type boolean;
            description
              "SR Policy active state in forwarding";
          }
    
          leaf request-state {
            type Bgp-srpolicy-req-state;
            description
              "SR Policy programming Status";
          }
    
          leaf usable {
            type boolean;
            description
              "SR Policy is usable on this node";
          }
    
          list segment-list {
            description
              "SR Policy Segment Lists";
            uses SR-EXPPATH;
          }  // list segment-list
        }  // grouping BGP-SRPOLICY-ENTRY
    
        grouping BGP-TUNENCAP-ENTRY {
          description
            "Tunnel Encap attribute entry";
          container sr-policy {
            description
              "Tunnel encap type SR policy";
            uses BGP-SRPOLICY-ENTRY;
          }  // container sr-policy
        }  // grouping BGP-TUNENCAP-ENTRY
    
        grouping BGP-BAG-PSID-UNK-TLVS {
          description
            "Prefix-SID Unknown TLVs buffer";
          leaf tlv-count {
            type uint16;
            description
              "Number of unknown TLVs stored";
          }
    
          leaf received-buffer-length {
            type uint32;
            description
              "Received length of unknown TLVs";
          }
    
          list tl-vs-buffer {
            description
              "Limited buffer of unknown TLVs";
            leaf entry {
              type uint8;
              description
                "Limited buffer of unknown TLVs";
            }
          }  // list tl-vs-buffer
        }  // grouping BGP-BAG-PSID-UNK-TLVS
    
        grouping BGP-BAG-PSID-SRV6-L3SVC {
          description
            "Prefix-SID SRv6-l3svc TLV info";
          leaf reserved {
            type uint8;
            description "Reserved field";
          }
    
          leaf sub-tlv-count {
            type uint16;
            description "Number of subtlvs";
          }
    
          list sub-tlv {
            description "Sub TLVs";
            uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO;
          }  // list sub-tlv
        }  // grouping BGP-BAG-PSID-SRV6-L3SVC
    
        grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-SID-STRUCT {
          description
            "BGP BAG PSID SRV6 SVC SIDINFO SUBSUBTLV SID
           STRUCT";
          leaf loc-blk-len {
            type uint8;
            description "locator blk len";
          }
    
          leaf loc-node-len {
            type uint8;
            description "locator node len";
          }
    
          leaf func-len {
            type uint8;
            description "Function len";
          }
    
          leaf arg-len {
            type uint8;
            description "Argument len";
          }
    
          leaf transpose-len {
            type uint8;
            description "Transpose len";
          }
    
          leaf transpose-offset {
            type uint8;
            description "Transpose offset";
          }
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-SID-STRUCT
    
        grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-VAL {
          description
            "Prefix-SID SRv6-svc SUBSUB TLV types";
          container sid-struct {
            description "SIDStruct field";
            uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-SID-STRUCT;
          }  // container sid-struct
    
          list unknown-buf {
            description "Unknown buff";
            leaf entry {
              type uint8;
              description "Unknown buff";
            }
          }  // list unknown-buf
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-VAL
    
        grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-INFO {
          description
            "Prefix-SID SRv6-svc SUBSUB TLV info";
          container sub-sub-tlv-val {
            description "Subsub TLV Val";
            uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-VAL;
          }  // container sub-sub-tlv-val
    
          leaf type {
            type uint8;
            description "SUBSUBtlv Type";
          }
    
          leaf length {
            type uint16;
            description "SUBSUBTLv length";
          }
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-INFO
    
        grouping BGP-BAG-PSID-SRV6-SVC-SUBSUBTLV-INFO {
          description
            "Prefix-SID SRv6-svc SUBSUB TLV val";
          leaf reserved2 {
            type uint8;
            description "SUB TLV reserved";
          }
    
          leaf sid {
            type inet:ipv6-address;
            description "SID new Value";
          }
    
          leaf sid-flags {
            type uint8;
            description "SID Flags";
          }
    
          leaf sid-behavior {
            type uint16;
            description "SID ENDPT behavior";
          }
    
          leaf reserved3 {
            type uint8;
            description "SUB SUB TLV reserved";
          }
    
          leaf sub-sub-tlv-count {
            type uint16;
            description "SUB SUB TLV Count";
          }
    
          list sub-sub-tlv {
            description "List of sub sub tlvs";
            uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-INFO;
          }  // list sub-sub-tlv
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SUBSUBTLV-INFO
    
        grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-VAL {
          description
            "Prefix-SID SRv6-svc SUB TLV info";
          container sid-info {
            description "SIDinfo field";
            uses BGP-BAG-PSID-SRV6-SVC-SUBSUBTLV-INFO;
          }  // container sid-info
    
          list unknown-buf {
            description "Unknown buff";
            leaf entry {
              type uint8;
              description "Unknown buff";
            }
          }  // list unknown-buf
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-VAL
    
        grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO {
          description
            "Prefix-SID SRv6-svc TLV val";
          container sub-tlv-val {
            description "Sub TLV Val";
            uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-VAL;
          }  // container sub-tlv-val
    
          leaf type {
            type uint8;
            description "Type field";
          }
    
          leaf len {
            type uint16;
            description "length of SUB_TLVs";
          }
        }  // grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO
    
        grouping BGP-BAG-PSID-SRV6-L2SVC {
          description
            "Prefix-SID SRv6-l2svc TLV info";
          leaf reserved {
            type uint8;
            description "Reserved field";
          }
    
          leaf sub-tlv-count {
            type uint16;
            description "Number of SIDs";
          }
    
          list sub-tlv {
            description "Sub TLVs";
            uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO;
          }  // list sub-tlv
        }  // grouping BGP-BAG-PSID-SRV6-L2SVC
    
        grouping BGP-BAG-SRGB-RANGE {
          description "SRGB Range";
          leaf range-start {
            type uint32;
            description
              "Start of the range for BGP Segment Routing (SR)
             global block";
          }
    
          leaf range-end {
            type uint32;
            description
              "End of the range for BGP Segment Routing
             (SR)global block";
          }
        }  // grouping BGP-BAG-SRGB-RANGE
    
        grouping BGP-BAG-PSID-ORIG-SRGB {
          description
            "Prefix-SID Orig-SRGB TLV info";
          leaf flags {
            type uint16;
            description "Flags field";
          }
    
          leaf range-count {
            type uint32;
            description "Number of SRGB ranges";
          }
    
          list range {
            description "List of SRGB ranges";
            uses BGP-BAG-SRGB-RANGE;
          }  // list range
        }  // grouping BGP-BAG-PSID-ORIG-SRGB
    
        grouping BGP-BAG-PSID-LABEL-INDEX {
          description
            "Prefix-SID Label-Index info";
          leaf reserved {
            type uint8;
            description "Reserved field";
          }
    
          leaf flags {
            type uint16;
            description "Flags field";
          }
    
          leaf label-index {
            type uint32;
            description "LabelIndex field";
          }
        }  // grouping BGP-BAG-PSID-LABEL-INDEX
    
        grouping BGP-PEDISTLBL-ENTRY {
          description
            "PE distinguisher Label entry";
          leaf pe-address {
            type inet:ipv4-address;
            description " PE address";
          }
    
          leaf label {
            type uint32;
            description "Label";
          }
        }  // grouping BGP-PEDISTLBL-ENTRY
    
        grouping BGP-COMMON-ATTR-ENTRY {
          description
            "Common Set of attribute entry";
          container prefix-sid-label-index {
            description
              "Prefix-SID LabelIndex TLV info";
            uses BGP-BAG-PSID-LABEL-INDEX;
          }  // container prefix-sid-label-index
    
          container prefix-sid-orig-srgb {
            description
              "Prefix-SID OrigSRGB TLV info";
            uses BGP-BAG-PSID-ORIG-SRGB;
          }  // container prefix-sid-orig-srgb
    
          container prefix-sid-srv6-layer2-svc {
            description
              "Prefix-SID SRv6L2SVC TLV info";
            uses BGP-BAG-PSID-SRV6-L2SVC;
          }  // container prefix-sid-srv6-layer2-svc
    
          container prefix-sid-srv6-layer3-svc {
            description
              "Prefix-SID SRv6L3SVC TLV info";
            uses BGP-BAG-PSID-SRV6-L3SVC;
          }  // container prefix-sid-srv6-layer3-svc
    
          container prefix-sid-unk-tlvs {
            description
              "Prefix-SID UnkTLVs TLV info";
            uses BGP-BAG-PSID-UNK-TLVS;
          }  // container prefix-sid-unk-tlvs
    
          container tunnel-encap {
            description
              "Tunnel Encapsulation attribute";
            uses BGP-TUNENCAP-ENTRY;
          }  // container tunnel-encap
    
          leaf is-metric-present {
            type boolean;
            description
              "Metric attribute present";
          }
    
          leaf is-local-pref-present {
            type boolean;
            description
              "Flag to indicate if BGP local preference
             attribute is present";
          }
    
          leaf is-atomic-aggregate-present {
            type boolean;
            description
              "Flag to indicate if Atomic aggregate attribute
             present";
          }
    
          leaf is-aggregator-present {
            type boolean;
            description
              "Flag to indicate if Aggregator attribute present";
          }
    
          leaf is-origin-present {
            type boolean;
            description
              "Flag to indicate if Origin attribute is present";
          }
    
          leaf is-as-path-present {
            type boolean;
            description
              "AS path attribute present";
          }
    
          leaf is-community-present {
            type boolean;
            description
              "Community attribute present";
          }
    
          leaf is-extended-community-present {
            type boolean;
            description
              "Extended community attribute present";
          }
    
          leaf is-ssa-present {
            type boolean;
            description
              "Flag to indicate if SSA attribute is present";
          }
    
          leaf is-connector-present {
            type boolean;
            description
              "Flag to indicate if BGP attribute Connector is
             present";
          }
    
          leaf is-pmsi-present {
            type boolean;
            description
              "PMSI Attribute  present";
          }
    
          leaf is-pppmp-present {
            type boolean;
            description
              "PPMP Attribute  present";
          }
    
          leaf is-aigp-present {
            type boolean;
            description "AIGP Present";
          }
    
          leaf is-pe-distinguisher-label-present {
            type boolean;
            description
              "PE distinguisher label  attribute present";
          }
    
          leaf is-ls-attribute-present {
            type boolean;
            description
              "Flag to indicate if BGP link-state attribute
             information is present";
          }
    
          leaf is-label-index-present {
            type boolean;
            description
              "Label Index attribute - present - deprecated";
          }
    
          leaf is-prefix-sid-label-index-present {
            type boolean;
            description
              "Prefix-SID LabelIndex present";
          }
    
          leaf is-prefix-sid-orig-srgb-present {
            type boolean;
            description
              "Prefix-SID OrigSRGB present";
          }
    
          leaf is-prefix-sid-srv6-layer3-svc-present {
            type boolean;
            description
              "Prefix-SID SRv6L3SVC present";
          }
    
          leaf is-prefix-sid-srv6-layer2-svc-present {
            type boolean;
            description
              "Prefix-SID SRv6L2SVC present";
          }
    
          leaf is-prefix-sid-unk-tlvs-present {
            type boolean;
            description
              "Prefix-SID UnkTLVs present";
          }
    
          leaf neighbor-as {
            type uint32;
            description "Neighbor AS number";
          }
    
          leaf aggregator-as {
            type uint32;
            description
              "AS where aggregation was last performed";
          }
    
          leaf aggregator-address {
            type inet:ipv4-address;
            description
              "Address where aggregation was performed ";
          }
    
          leaf metric {
            type uint32;
            description
              "Metric associated with BGP attribute ";
          }
    
          leaf local-preference {
            type uint32;
            description
              "Flag to indicate BGP attribute is local";
          }
    
          leaf origin {
            type uint16;
            description
              "BGP common attribute Origin ";
          }
    
          leaf as-path {
            type string;
            description
              "BGP Atonomous system path attribute";
          }
    
          leaf extended-community-flags {
            type uint8;
            description
              "BGP attribute Extended community Flags";
          }
    
          leaf originator {
            type inet:ipv4-address;
            description "Originator attribute";
          }
    
          leaf l2tpv3-session-id {
            type uint32;
            description
              "BGP attribute Layer2 tunneling protocol version
             3 session id";
          }
    
          leaf connector-type {
            type uint16;
            description
              "BGP attribute Connector Type";
          }
    
          leaf aigp-metric-value {
            type uint64;
            description "AIGP metric value";
          }
    
          leaf pmsi-type {
            type uint16;
            description "PMSI Type";
          }
    
          leaf pmsi-flags {
            type uint8;
            description "PMSI Value";
          }
    
          leaf pmsi-label {
            type uint32;
            description "PMSI label";
          }
    
          leaf ppm-pvalue {
            type uint32;
            description "PPMP Value";
          }
    
          leaf is-large-community-present {
            type boolean;
            description
              "Large Community attribute present";
          }
    
          list community {
            description "Community attribute";
            leaf entry {
              type uint32;
              description "Community attribute";
            }
          }  // list community
    
          list extended-community {
            description
              "Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Extended community attribute";
            }
          }  // list extended-community
    
          list unknown-attribute {
            description
              "BGP common set of unknown attributes ";
            leaf entry {
              type uint8;
              description
                "BGP common set of unknown attributes ";
            }
          }  // list unknown-attribute
    
          list cluster {
            description "Cluster list attribute";
            leaf entry {
              type uint32;
              description
                "Cluster list attribute";
            }
          }  // list cluster
    
          list l2tpv3-cookie {
            description "L2TPv3 Cookie";
            leaf entry {
              type uint8;
              description "L2TPv3 Cookie";
            }
          }  // list l2tpv3-cookie
    
          list connector-value {
            description
              "BGP attribute Connector Value";
            leaf entry {
              type uint8;
              description
                "BGP attribute Connector Value";
            }
          }  // list connector-value
    
          list pmsi-value {
            description "PMSI Value";
            leaf entry {
              type uint8;
              description "PMSI Value";
            }
          }  // list pmsi-value
    
          list ls-attr {
            description "BGP LS attribute";
            leaf entry {
              type uint8;
              description "BGP LS attribute";
            }
          }  // list ls-attr
    
          list pe-distinguisher-label {
            description
              "PE distinguisher label attribute";
            uses BGP-PEDISTLBL-ENTRY;
          }  // list pe-distinguisher-label
    
          list large-community {
            description
              "Large Community attribute";
            uses BGP-BAG-LARGECOMM;
          }  // list large-community
        }  // grouping BGP-COMMON-ATTR-ENTRY
    
        grouping BGP-ATTR {
          description "BGP Attributes";
          container common-attributes {
            description
              "BGP entry to derive the attribute information";
            uses BGP-COMMON-ATTR-ENTRY;
          }  // container common-attributes
    
          container attr-set {
            description "ATTR_SET attribute";
            uses BGP-COMMON-ATTR-ENTRY;
          }  // container attr-set
    
          container rnh-addr {
            description "RNH Address";
            uses BGP-ATTR-RNH-ADDR;
          }  // container rnh-addr
    
          container ribrnh-ip {
            description "RIB RNH IP Address";
            uses BGP-ADDRTYPE;
          }  // container ribrnh-ip
    
          leaf is-as-path2-byte {
            type boolean;
            description
              "AS path encoded as 2-byte";
          }
    
          leaf is-application-gateway-present {
            type boolean;
            description
              "Flag to indicate if BGP application gateway is
             present";
          }
    
          leaf is-attr-set-present {
            type boolean;
            description
              "BGP ATTR_SET attribute present";
          }
    
          leaf set-aigp-inbound-igp {
            type boolean;
            description
              "AIGP set by policy inbound IGP ";
          }
    
          leaf set-aigp-inbound-metric {
            type boolean;
            description
              "AIGP set by policy inbound metric";
          }
    
          leaf is-rnh-present {
            type boolean;
            description "RNH Attribute  present";
          }
    
          leaf is-ribrnh-present {
            type boolean;
            description
              "RIB RNH Attribute  present";
          }
    
          leaf attribute-key-number {
            type uint32;
            description
              "Number which is stored per bgp routing table on
             attribute key";
          }
    
          leaf attribute-reuse-id-config {
            type boolean;
            description
              "Attribute reuse ID Configured";
          }
    
          leaf attribute-reuse-id-max-id {
            type uint32;
            description
              "Attribute reuse ID maximum ID";
          }
    
          leaf attribute-reuse-id-node {
            type uint32;
            description
              "BGP Attribute reuse ID nodes";
          }
    
          leaf attribute-reuse-id-current {
            type uint32;
            description
              "BGP Attribute reuse ID current ID";
          }
    
          leaf attribute-reuse-id-keys {
            type uint32;
            description
              "Attribute reuse ID allocated keys";
          }
    
          leaf attribute-reuse-id-recover-sec {
            type uint32;
            units "second";
            description
              "Attribute reuse ID timer in seconds";
          }
    
          leaf vpn-distinguisher {
            type uint32;
            description "VPN Distinguisher";
          }
    
          leaf rnh-type {
            type uint16;
            description "RNH Type";
          }
    
          leaf rnh-len {
            type uint8;
            description "RNH Length";
          }
    
          leaf rnh-addr-len {
            type uint32;
            description "RNH Address Length";
          }
    
          leaf ribrnh-table {
            type uint32;
            description "RIB RNH Table";
          }
    
          leaf ribrnh-mac {
            type Mac-address;
            description "RIB RNH MAC Address";
          }
    
          leaf ribrnhip-table {
            type uint32;
            description "RIB RNH IP Table";
          }
    
          leaf ribrnh-vni {
            type uint32;
            description "RIB RNH Vni";
          }
    
          leaf ribrnh-encap {
            type uint8;
            description
              "RIB RNH Encapsulation Type";
          }
        }  // grouping BGP-ATTR
    
        grouping BGP-ADVINFO-TYPE {
          description
            "Peers being advertised to";
          container neighbor-address {
            description
              "BGP advertised neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          leaf is-neighbor {
            type boolean;
            description
              "Entry is a neighbor (not an update group)";
          }
    
          leaf update-group-afi {
            type uint8;
            description
              "AFI of the Update group it is advertised to";
          }
    
          leaf update-group-number {
            type uint32;
            description "Update group index";
          }
        }  // grouping BGP-ADVINFO-TYPE
    
        grouping BGP-V4-V6 {
          description
            "The length of the BGP address";
          leaf len {
            type Bgp-v4-v6-len;
            description "len";
          }
    
          leaf ipv4-address {
            when "../len = 'gwipv4'" {
              description "../len = 'gwipv4'";
            }
            type inet:ipv4-address;
            description "IPv4 Addr";
          }
    
          leaf ipv6-address {
            when "../len = 'gwipv6'" {
              description "../len = 'gwipv6'";
            }
            type Ipv6-address;
            description "IPv6 Addr";
          }
        }  // grouping BGP-V4-V6
    
        grouping BGP-TE-TUNNEL {
          description "BGP TE TUNNEL";
          leaf tunnel-type {
            type Bgp-tunnel;
            description "Nexthop Tunnel Type";
          }
    
          leaf tunnel-name {
            type string;
            description "Tunnel name attribute";
          }
    
          leaf is-tunnel-up {
            type boolean;
            description "Tunnel Up flag";
          }
    
          leaf is-tunnel-info-stale {
            type boolean;
            description "Tunnel is stale";
          }
    
          leaf is-tunnel-registered {
            type boolean;
            description "Tunnel registered flag";
          }
    
          leaf is-bgp-te-registered {
            type boolean;
            description "BGPTE registered flag";
          }
    
          leaf tunnel-v6-required {
            type boolean;
            description "Tunnel need IPv6";
          }
    
          leaf tunnel-v6-enabled {
            type boolean;
            description "IPv6 enabled";
          }
    
          leaf tunnel-notif-first-rcvd {
            type boolean;
            description
              "Tunnel first notif received";
          }
    
          leaf tunnel-state-skip-reg {
            type boolean;
            description
              "Skip tunnel registration for Stale entry";
          }
    
          leaf binding-label {
            type uint32;
            description
              "Binding label for the tunnel";
          }
    
          leaf tunnel-if-handle {
            type uint32;
            description
              "Interface handle for the tunnel";
          }
    
          leaf last-tunnel-update {
            type uint32;
            description
              "Time since the last tunnel update happened";
          }
    
          leaf tunnel-color {
            type uint32;
            description
              "Color corresponding to this SR tunnel";
          }
    
          leaf has-tunnel-metric {
            type boolean;
            description
              "This SR-TE tunnel has an admin distance/metric";
          }
    
          leaf tunnel-metric-ad {
            type uint32;
            description
              "Metric admin distance corresponding to this SR
             tunnel";
          }
    
          leaf tunnel-metric-value {
            type uint32;
            description
              "Metric value corresponding to this SR tunnel";
          }
    
          leaf is-tunnel-color-only {
            type boolean;
            description
              "Is a Color Only (Null Endpoint) tunnel";
          }
    
          leaf tunnel-endpoint-afi {
            type Bgp-afi;
            description
              "AFI of the Null Endpoint (IPv4/IPv6)";
          }
    
          leaf flags {
            type uint32;
            description
              "SR Tunnel specific flags ";
          }
    
          leaf haveu-srv6-bsid {
            type boolean;
            description
              "SRv6 BSID for tunnel present";
          }
    
          leaf srv6u-bsid-address {
            type Ipv6-address;
            description
              "SRv6 uBSID address value";
          }
        }  // grouping BGP-TE-TUNNEL
    
        grouping BGP-PREFIXTYPE {
          description "BGP PREFIXTYPE";
          container prefix {
            description
              "The Prefix from whichto get the address";
            uses BGP-ADDRTYPE;
          }  // container prefix
    
          leaf prefix-length {
            type uint16;
            description
              "BGP prefix length of the route";
          }
        }  // grouping BGP-PREFIXTYPE
    
        grouping BGP-PATH {
          description "BGP Path";
          container bgp-prefix {
            description "BGP prefix";
            uses BGP-PREFIXTYPE;
          }  // container bgp-prefix
    
          container neighbor-address {
            description
              "Neighbor address specified in BGP path";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address
    
          container next-hop {
            description
              "BGP Next hop information";
            uses BGP-ADDRTYPE;
          }  // container next-hop
    
          container nh-tunnel {
            description
              "Next hop tunnel information";
            uses BGP-TE-TUNNEL;
          }  // container nh-tunnel
    
          container mdt-group-addr {
            description
              "IPv4 MDT Group Address for the path";
            uses BGP-ADDRTYPE;
          }  // container mdt-group-addr
    
          container gw-addr {
            description "Path GW Address";
            uses BGP-V4-V6;
          }  // container gw-addr
    
          container nh-addr {
            description "Path next-hop Address";
            uses BGP-V4-V6;
          }  // container nh-addr
    
          container best-path-comp-winner {
            description
              "Neighbor address of the path which won best path
             comparison";
            uses BGP-ADDRTYPE;
          }  // container best-path-comp-winner
    
          container mvpn-nbr-addr {
            description
              "Mvpn nbr Address for the path";
            uses BGP-ADDRTYPE;
          }  // container mvpn-nbr-addr
    
          container mvpn-nexthop-addr {
            description
              "Mvpn nexthop Address for the path";
            uses BGP-ADDRTYPE;
          }  // container mvpn-nexthop-addr
    
          container vpn-nexthop-addr {
            description
              "Vpn nexthop Address for the path";
            uses BGP-ADDRTYPE;
          }  // container vpn-nexthop-addr
    
          container evpn-imet-pmsi-nexthop-addr {
            description
              "EVPN IMET PMSI Originator Nexthop Address";
            uses BGP-ADDRTYPE;
          }  // container evpn-imet-pmsi-nexthop-addr
    
          leaf route-type {
            type Bgp-route1;
            description "Route Type of path";
          }
    
          leaf is-path-valid {
            type boolean;
            description
              "Flag to indicate if BGP path attributes are
             usable";
          }
    
          leaf is-path-damped {
            type boolean;
            description
              "Flag to indicate if Path suppressed due to
             dampening";
          }
    
          leaf is-path-history-held {
            type boolean;
            description
              "Path entry held to remember history";
          }
    
          leaf is-internal-path {
            type boolean;
            description
              "Received over an internal link";
          }
    
          leaf is-best-path {
            type boolean;
            description "Best available path";
          }
    
          leaf is-as-best {
            type boolean;
            description
              "Best available path within AS";
          }
    
          leaf is-spkr-as-best {
            type boolean;
            description
              "Best available path within AS in speaker";
          }
    
          leaf is-partial-best {
            type boolean;
            description
              "Partial best path within distributed speaker";
          }
    
          leaf is-aggregation-suppressed {
            type boolean;
            description
              "Path suppressed due to aggregation";
          }
    
          leaf is-import-dampened {
            type boolean;
            description
              "Flag to indicate if BGP path net import is
             dampened";
          }
    
          leaf is-import-suspect {
            type boolean;
            description
              "Flag to indicate if BGP path net import is
             suspect";
          }
    
          leaf is-path-not-advertised {
            type boolean;
            description
              "Flag to indicate if path is not advertised to
             any peer";
          }
    
          leaf is-path-not-advertised-to-ebgp {
            type boolean;
            description
              "Not advertised to EBGPs";
          }
    
          leaf is-path-advertised-local-as-only {
            type boolean;
            description
              "Not advertised outside local AS";
          }
    
          leaf is-path-from-route-reflector {
            type boolean;
            description
              "Path received from route reflector";
          }
    
          leaf is-path-received-only {
            type boolean;
            description
              "Flag to indicate if BGP Path is received only";
          }
    
          leaf is-received-path-not-modified {
            type boolean;
            description
              "Flag to indicate if received path is used
             without modification";
          }
    
          leaf is-path-locally-sourced {
            type boolean;
            description "Path sourced locally";
          }
    
          leaf is-path-local-aggregate {
            type boolean;
            description
              "Path is a locally created aggregate";
          }
    
          leaf is-path-from-network-command {
            type boolean;
            description
              "Path sourced by network command";
          }
    
          leaf is-path-from-redistribute-command {
            type boolean;
            description
              "Path sourced by redistribute command";
          }
    
          leaf is-path-imported {
            type boolean;
            description "Path is imported";
          }
    
          leaf is-path-reoriginated {
            type boolean;
            description "Path is reoriginated";
          }
    
          leaf is-path-reoriginated-stitching {
            type boolean;
            description
              "Path is reoriginated with stitching RTs";
          }
    
          leaf is-path-vpn-only {
            type boolean;
            description "Path is not in the vrf";
          }
    
          leaf is-path-from-confederation-peer {
            type boolean;
            description
              "Path received from confederation peer";
          }
    
          leaf is-path-synced-with-igp {
            type boolean;
            description
              "Path synchronized with IGP";
          }
    
          leaf is-path-multipath {
            type boolean;
            description
              "Path is one of multipath best routes";
          }
    
          leaf is-path-imp-candidate {
            type boolean;
            description
              "Path is a candidate for multipath import";
          }
    
          leaf is-path-stale {
            type boolean;
            description
              "Stale routes learnt before neighbor restarts";
          }
    
          leaf is-path-long-lived-stale {
            type boolean;
            description
              "Long lived stale routes learnt before neighbor
             restarts";
          }
    
          leaf is-path-backup {
            type boolean;
            description "Path is a backup path ";
          }
    
          leaf is-path-backup-protect-multipath {
            type boolean;
            description
              "Path is a backup path to protect multipaths";
          }
    
          leaf is-path-best-external {
            type boolean;
            description
              "Path is a best external path";
          }
    
          leaf is-path-additional-path {
            type boolean;
            description
              "Flag to indicate BGP Path is an additional-path";
          }
    
          leaf is-path-nexthop-discarded {
            type boolean;
            description
              "Path is redirected to Null0";
          }
    
          leaf has-local-net-label {
            type boolean;
            description "Path has local label";
          }
    
          leaf local-label {
            type uint32;
            description " BGP Path local label";
          }
    
          leaf igp-metric {
            type uint32;
            description
              "IGP metric to the gateway";
          }
    
          leaf path-weight {
            type uint16;
            description "Weight for the path";
          }
    
          leaf neighbor-router-id {
            type inet:ipv4-address;
            description
              "Router ID of the neighbor for the path";
          }
    
          leaf has-mdt-group-addr {
            type boolean;
            description
              "Path has MDT Group Address";
          }
    
          leaf l2vpn-size {
            type uint32;
            description "Path block size";
          }
    
          leaf l2vpn-evpn-esi {
            type string;
            description "L2VPN EVPN ESI";
          }
    
          leaf evpn-path-flags {
            type uint32;
            description "L2VPN EVPN Path flags";
          }
    
          leaf has-gw-addr {
            type boolean;
            description "Path has GW Address";
          }
    
          leaf has-nh-addr {
            type boolean;
            description
              "Path has next-hop Address";
          }
    
          leaf nexthop-interface-handle {
            type uint32;
            description
              "Interface Handle of Nexthop";
          }
    
          leaf has-second-label {
            type boolean;
            description
              "Path has second received label";
          }
    
          leaf second-label {
            type uint32;
            description
              "Path second received label";
          }
    
          leaf path-flap-count {
            type uint32;
            description
              "Number of times this route has flapped";
          }
    
          leaf seconds-since-first-flap {
            type uint32;
            units "second";
            description
              "BGP damp info in seconds, since first route
             flapped";
          }
    
          leaf time-to-unsuppress {
            type uint32;
            units "second";
            description
              "Seconds until route is unsuppressed";
          }
    
          leaf dampen-penalty {
            type uint32;
            description "BGP Dampening penalty";
          }
    
          leaf halflife-time {
            type uint32;
            description
              "Half-life time for the penalty";
          }
    
          leaf suppress-penalty {
            type uint32;
            description
              "Value to start suppressing a route";
          }
    
          leaf reuse-value {
            type uint32;
            description
              "Value to start reusing a route";
          }
    
          leaf maximum-suppress-time {
            type uint32;
            description
              "Maximum duration to suppress a stable route";
          }
    
          leaf best-path-comp-stage {
            type Bgp-bp-stage;
            description
              "Stage where the path lost to the best path or
             group best";
          }
    
          leaf best-path-id-comp-winner {
            type uint32;
            description
              "Path ID of the path which won best path
             comparison";
          }
    
          leaf path-flags {
            type uint64;
            description
              "Flags associated with path";
          }
    
          leaf path-import-flags {
            type uint32;
            description
              "Flags to indicate for import processing in BGP";
          }
    
          leaf best-path-id {
            type uint32;
            description
              "Best path ID; DEPRECATED BY LocalPathId";
          }
    
          leaf local-path-id {
            type uint32;
            description "Local path ID";
          }
    
          leaf rcvd-path-id {
            type uint32;
            description "Received path ID";
          }
    
          leaf path-table-version {
            type uint32;
            description
              "Table version # for pelem";
          }
    
          leaf advertisedto-pe {
            type boolean;
            description
              "Net could be advertised
             to PE peers";
          }
    
          leaf rib-failed {
            type boolean;
            description
              "Is net failed installed
             in RIB";
          }
    
          leaf sn-rpki-origin-as-validity {
            type uint8;
            description
              "RPKI origin validation state";
          }
    
          leaf show-rpki-origin-as-validity {
            type boolean;
            description
              "Display validity state ?";
          }
    
          leaf ibgp-signaled-validity {
            type boolean;
            description
              "IBGP signalled validation";
          }
    
          leaf rpki-origin-as-validation-disabled {
            type boolean;
            description
              "RPKI originAS V. Disabled";
          }
    
          leaf accept-own-path {
            type boolean;
            description "Accept Own";
          }
    
          leaf accept-own-self-originated-path {
            type boolean;
            description
              "Flag to indicate if BGP path is Accept-Own
             community and self-originated";
          }
    
          leaf aigp-metric {
            type uint64;
            description "Total AIGP metric";
          }
    
          leaf mvpn-sfs-path {
            type boolean;
            description
              "Flag to indicate if MVPN single forwarder PE
             path";
          }
    
          leaf fspec-invalid-path {
            type boolean;
            description
              "Flag to indicate if path is invalidated by
             flow-spec rules";
          }
    
          leaf has-mvpn-nbr-addr {
            type boolean;
            description
              "Path has Mvpn nbr Address";
          }
    
          leaf has-mvpn-nexthop-addr {
            type boolean;
            description
              "Path has MVPN nexthop Address";
          }
    
          leaf has-mvpn-pmsi {
            type boolean;
            description
              "Path has MVPN PMSI feedback";
          }
    
          leaf mvpn-pmsi-type {
            type uint16;
            description "Mvpn PMSI Type";
          }
    
          leaf mvpn-pmsi-flags {
            type uint8;
            description "Mvpn PMSI Value";
          }
    
          leaf mvpn-pmsi-label {
            type uint32;
            description "Mvpn PMSI label";
          }
    
          leaf has-mvpn-extcomm {
            type boolean;
            description
              "Path has MVPN EXTCOMM feedback";
          }
    
          leaf mvpn-path-flags {
            type uint16;
            description
              "Multicast Virtual Private Networks specific path
             info";
          }
    
          leaf local-nh {
            type boolean;
            description "Path has local nexthop";
          }
    
          leaf rt-set-limit-enabled {
            type boolean;
            description
              "Path subject to RT-set net limit";
          }
    
          leaf path-rt-set-id {
            type uint32;
            description "RT-set id of the path";
          }
    
          leaf path-rt-set-route-count {
            type uint32;
            description "Count in RT-set";
          }
    
          leaf is-path-af-install-eligible {
            type boolean;
            description
              "Path can be installed in AF RIB";
          }
    
          leaf is-permanent-path {
            type boolean;
            description
              "Path is of type Permanent path";
          }
    
          leaf graceful-shutdown {
            type boolean;
            description
              "Marked for graceful shutdown";
          }
    
          leaf labeled-unicast-safi-path {
            type boolean;
            description
              "Path was learnt by labeled-unicast SAFI";
          }
    
          leaf has-vpn-nexthop-addr {
            type boolean;
            description
              "Path has VPN nexthop Address";
          }
    
          leaf is-orig-src-rd-present {
            type boolean;
            description
              "Original Source RD  present";
          }
    
          leaf af-name {
            type Bgp-afi;
            description
              "Original Source Address family identifier";
          }
    
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "Original Source Route Distinguisher";
          }
    
          leaf mac-ip-present {
            type boolean;
            description
              "Mac IP Present  present";
          }
    
          leaf mac-ip {
            type yang:mac-address;
            description "Mac associated with IP";
          }
    
          leaf ether-tag-id {
            type uint32;
            description "Ethernet Tag Id";
          }
    
          leaf igmp-flags-present {
            type boolean;
            description
              "EVPN IGMP Flags Present";
          }
    
          leaf igmp-flags {
            type uint8;
            description "EVPN IGMP Flags";
          }
    
          leaf evpn-imet-pmsi-originator-present {
            type boolean;
            description
              "EVPN IMET PMSI Originator Nexthop is present";
          }
    
          leaf evpn-imet-pmsi-nexthop-reachable {
            type boolean;
            description
              "Reachability for PMSI Originator nexthop";
          }
    
          list rcvd-label {
            description
              "Path received label stack";
            leaf entry {
              type uint32;
              description
                "Path received label stack";
            }
          }  // list rcvd-label
    
          list l2vpn-circuit-status-value {
            description
              "L2VPN Circuit Status Value";
            leaf entry {
              type uint8;
              description
                "L2VPN Circuit Status Value";
            }
          }  // list l2vpn-circuit-status-value
    
          list mvpn-pmsi-value {
            description "Mvpn PMSI Value";
            leaf entry {
              type uint8;
              description "Mvpn PMSI Value";
            }
          }  // list mvpn-pmsi-value
    
          list extended-community {
            description
              "Mvpn Extended community attribute";
            leaf entry {
              type uint8;
              description
                "Mvpn Extended community attribute";
            }
          }  // list extended-community
    
          list local-peers-advertised-to {
            description
              "Local peers that this prefix has been advertised
             to";
            uses BGP-ADVINFO-TYPE;
          }  // list local-peers-advertised-to
    
          list pe-peers-advertised-to {
            description
              "PE peers that this prefix has been advertised to";
            uses BGP-ADVINFO-TYPE;
          }  // list pe-peers-advertised-to
    
          list best-path-orrbitfield {
            description
              "ORR Best path Bitfields";
            uses BGP-ADVINFO-TYPE;
          }  // list best-path-orrbitfield
    
          list add-path-orrbitfield {
            description "ORR Add path Bitfields";
            uses BGP-ADVINFO-TYPE;
          }  // list add-path-orrbitfield
        }  // grouping BGP-PATH
    
        grouping BGP-PATH-ADV-BAG {
          description
            "BGP path with advertised attributes information";
          container neighbor-address-xr {
            description "Neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address-xr
    
          container path-info-after-policy-in {
            description
              "Path information after inbound policy";
            uses BGP-PATH;
          }  // container path-info-after-policy-in
    
          container path-info-after-policy-out {
            description
              "Path information after outbound policy";
            uses BGP-PATH;
          }  // container path-info-after-policy-out
    
          container attributes-after-policy-in {
            description
              "Attributes after inbound policy";
            uses BGP-ATTR;
          }  // container attributes-after-policy-in
    
          container attributes-after-policy-out {
            description
              "Attributes after outbound policy";
            uses BGP-ATTR;
          }  // container attributes-after-policy-out
    
          leaf no-path {
            type boolean;
            description
              "No path exists All 'sp_path_in' fields except
             'sp_path_in->bag_prefix' are invalid.  All
             'sp_path_out' fields are invalid.";
          }
    
          leaf af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path with advertised Route Distinguisher";
          }
    
          leaf source-route-distinguisher {
            type xr:Route-dist;
            description
              "BGP path advertised Source Route Distinguisher";
          }
    
          leaf vrf-name {
            type string;
            description "Name of the VRF";
          }
        }  // grouping BGP-PATH-ADV-BAG
    
        grouping BGP-RNH-ENTRY-INFO {
          description "BGP RNH ENTRY INFO";
          leaf lrnh-type {
            type uint16;
            description "RNH Type";
          }
    
          leaf lrnh-table {
            type uint32;
            description "RNH Table ID";
          }
    
          leaf lrnhvni {
            type uint32;
            description "RNH VNI";
          }
    
          leaf lrnh-addr {
            type inet:ipv4-address;
            description "RNH Address";
          }
    
          leaf lrnh-mac {
            type Mac-address;
            description "RNH MAC Address";
          }
    
          leaf frnh-as {
            type uint8;
            description "RNH Flags";
          }
    
          leaf rrnh-as {
            type uint32;
            description "RNH Refcount";
          }
        }  // grouping BGP-RNH-ENTRY-INFO
    
        grouping BGP-L2VPN-EVPN-ESI {
          description "BGP L2VPN EVPN ESI";
          leaf esi {
            type yang:hex-string;
            description "esi";
          }
        }  // grouping BGP-L2VPN-EVPN-ESI
    
        grouping BGP-LRNH-ENTRY-INFO {
          description "BGP LRNH ENTRY INFO";
          container local-rnhesi {
            description "Local RNH ESI";
            uses BGP-L2VPN-EVPN-ESI;
          }  // container local-rnhesi
    
          leaf lrnh-present {
            type boolean;
            description "RNH present boolean";
          }
    
          leaf lrnh-type {
            type uint16;
            description "RNH Type";
          }
    
          leaf lrnhvni {
            type uint32;
            description "RNH VNI";
          }
    
          leaf lrnh-addr {
            type inet:ipv4-address;
            description "RNH Address";
          }
    
          leaf lrnhv6-addr {
            type inet:ipv6-address;
            description "RNH IPv6 Address";
          }
    
          leaf lrnh-mac {
            type Mac-address;
            description "RNH MAC Address";
          }
        }  // grouping BGP-LRNH-ENTRY-INFO
    
        grouping BGP-RNH-BAG {
          description "BGP RNH";
          leaf lrnh-table {
            type uint32;
            description "RNH Table ID";
          }
    
          list local-rnh-entry {
            max-elements 2;
            description "Local RNH Entries";
            uses BGP-LRNH-ENTRY-INFO;
          }  // list local-rnh-entry
    
          list rnh-entry-info {
            description
              "List of Dependency Tables ";
            uses BGP-RNH-ENTRY-INFO;
          }  // list rnh-entry-info
        }  // grouping BGP-RNH-BAG
    
        grouping BGP-EDM-RPKI-REFRESH-ENTRY {
          description
            "BGP EDM RPKI REFRESH ENTRY";
          leaf af-name {
            type Bgp-rpki-af;
            description "Address Family";
          }
    
          leaf neighbor {
            type string;
            description "BGP neighbor";
          }
    
          leaf policy {
            type string;
            description "Route Policy";
          }
    
          leaf paths {
            type uint32;
            description
              "Number of BGP paths modified or dropped";
          }
    
          leaf drop {
            type boolean;
            description "BGP paths were dropped";
          }
        }  // grouping BGP-EDM-RPKI-REFRESH-ENTRY
    
        grouping BGP-RPKI-REFRESH-LIST-BAG {
          description
            "BGP RPKI REFRESH LIST BAG";
          list refresh-entry {
            description
              "Array of refresh entries";
            uses BGP-EDM-RPKI-REFRESH-ENTRY;
          }  // list refresh-entry
        }  // grouping BGP-RPKI-REFRESH-LIST-BAG
    
        grouping BGP-UPDERR-VRF-BAG {
          description
            "BGP Update error-handling VRF information";
          container last-update-malformed-timestamp {
            description
              "Last malformed messages received time: time
             elapsed since 00:00:00 UTC, January 1, 1970";
            uses BGP-TIMESPEC;
          }  // container last-update-malformed-timestamp
    
          leaf update-vrf-name {
            type string;
            description "VRF Name";
          }
    
          leaf update-malformed-message-count {
            type uint32;
            description
              "BGP virtual routing & forwarding  malformed
             messages count";
          }
    
          leaf update-malformed-neighbor-count {
            type uint32;
            description
              "Count of neighbors that received malformed
             messages";
          }
    
          leaf last-update-malformed-age {
            type uint32;
            units "second";
            description
              "Time since last malformed messages received
             event (in seconds)";
          }
        }  // grouping BGP-UPDERR-VRF-BAG
    
        grouping BGP-TIMESPEC {
          description "BGP TIMESPEC";
          leaf seconds {
            type uint32;
            units "second";
            description
              "Seconds part of time value";
          }
    
          leaf nanoseconds {
            type uint32;
            units "nanosecond";
            description
              "Nanoseconds part of time value";
          }
        }  // grouping BGP-TIMESPEC
    
        grouping BGP-UPDGEN-STATS-BAG {
          description
            "BGP Update generation common statistics
           information";
          container last-update-discard-timestamp {
            description "Last Discarded time";
            uses BGP-TIMESPEC;
          }  // container last-update-discard-timestamp
    
          container last-update-cleared-timestamp {
            description "Last Cleared time";
            uses BGP-TIMESPEC;
          }  // container last-update-cleared-timestamp
    
          container last-update-throttle-timestamp {
            description "Last Throttled time";
            uses BGP-TIMESPEC;
          }  // container last-update-throttle-timestamp
    
          container last-update-recovery-timestamp {
            description "Last Recovery time";
            uses BGP-TIMESPEC;
          }  // container last-update-recovery-timestamp
    
          container last-update-memory-allocation-fail-timestamp {
            description
              "Memory allocation failure time";
            uses BGP-TIMESPEC;
          }  // container last-update-memory-allocation-fail-timestamp
    
          leaf update-out-queue-messages-high {
            type uint32;
            description "OutQueue High Messages";
          }
    
          leaf update-out-queue-messages-cumulative {
            type uint32;
            description
              "OutQueue Cumulative Messages";
          }
    
          leaf update-out-queue-messages-discarded {
            type uint32;
            description
              "OutQueue Discarded Messages";
          }
    
          leaf update-out-queue-messages-cleared {
            type uint32;
            description
              "OutQueue Cleared Messages";
          }
    
          leaf update-out-queue-size-high {
            type uint32;
            description "OutQueue Hi Size";
          }
    
          leaf update-out-queue-size-cumulative {
            type uint64;
            description
              "OutQueue Cumulative Size";
          }
    
          leaf update-out-queue-size-discarded {
            type uint64;
            description
              "OutQueue Discarded Size";
          }
    
          leaf update-out-queue-size-cleared {
            type uint64;
            description "OutQueue Cleared Size";
          }
    
          leaf last-update-discard-age {
            type uint32;
            units "second";
            description
              "Time since last Discard event (in seconds)";
          }
    
          leaf last-update-cleard-age {
            type uint32;
            units "second";
            description
              "Time since last Clear event (in seconds)";
          }
    
          leaf update-throttle-count {
            type uint32;
            description "Throttle Count";
          }
    
          leaf last-update-throttle-age {
            type uint32;
            units "second";
            description
              "Time since last Throttle event (in seconds)";
          }
    
          leaf update-recovery-count {
            type uint32;
            description "Recovery Count";
          }
    
          leaf last-update-recovery-age {
            type uint32;
            units "second";
            description
              "Time since last Recovery event (in seconds)";
          }
    
          leaf update-memory-allocation-fail-count {
            type uint32;
            description
              "Number of times there was failure when
             allocatingmemory for BGP update generation";
          }
    
          leaf last-update-memory-allocation-fail-age {
            type uint32;
            units "second";
            description
              "Time since last memory allocation failure event
             (in seconds)";
          }
        }  // grouping BGP-UPDGEN-STATS-BAG
    
        grouping BGP-UPDGEN-AF-SUMMARY-BAG {
          description
            "BGP Update generation address-family summary
           information";
          leaf update-group-af-name {
            type Bgp-afi;
            description
              "Address family identifier";
          }
    
          leaf current-update-limit-af {
            type uint32;
            description
              "BGP address-family current AF update limit";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue messages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue size";
          }
    
          leaf update-throttled {
            type boolean;
            description
              "BGP sub-group updates throttled because write
             limit reached";
          }
    
          leaf update-update-group-count {
            type uint32;
            description "Update-group count";
          }
    
          leaf update-sub-group-count {
            type uint32;
            description "Sub-group count";
          }
    
          leaf sub-group-throttled-count {
            type uint32;
            description
              "Throttled sub-group count";
          }
    
          leaf refresh-sub-group-count {
            type uint32;
            description
              "BGP address-family refresh sub-group count";
          }
    
          leaf refresh-sub-group-throttled-count {
            type uint32;
            description
              "Throttled refresh sub-group count";
          }
    
          leaf filter-group-count {
            type uint32;
            description
              "BGP address-family filter-group count";
          }
    
          leaf neighbor-count {
            type uint32;
            description
              "BGP sub-group neighbor count";
          }
        }  // grouping BGP-UPDGEN-AF-SUMMARY-BAG
    
        grouping BGP-UPDGEN-PROC-BAG {
          description
            "BGP Update generation Process information";
          container update-statistics {
            description
              "BGP process update statistics";
            uses BGP-UPDGEN-STATS-BAG;
          }  // container update-statistics
    
          leaf update-out-logging {
            type boolean;
            description
              "Enable syslog messages for update generation
             events";
          }
    
          leaf current-update-limit-process {
            type uint32;
            description
              "Current Process update limit";
          }
    
          leaf configured-update-limit-process {
            type uint32;
            description
              "Configured Process update limit";
          }
    
          leaf update-out-queue-messages {
            type uint32;
            description "OutQueue messages";
          }
    
          leaf update-out-queue-size {
            type uint32;
            description "OutQueue size";
          }
    
          leaf update-throttled {
            type boolean;
            description
              "Flag for BGP address-family summary updates
             throttled";
          }
    
          list update-address-family {
            description
              "List of address-families";
            uses BGP-UPDGEN-AF-SUMMARY-BAG;
          }  // list update-address-family
        }  // grouping BGP-UPDGEN-PROC-BAG
    
        grouping BGP-CONFIG-RELATIVES-BAG {
          description
            "BGP config ancestors/children information";
          container neighbor-address-xr {
            description "Neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address-xr
    
          container af-independent-relatives {
            description
              "The relatives of theindependent address-family";
            uses BGP-CONFIG-ENTID;
          }  // container af-independent-relatives
    
          leaf group-name {
            type string;
            description "Entity/group name";
          }
    
          leaf configuration-type {
            type Bgp-entities;
            description "Entity type";
          }
    
          leaf address-family-identifier {
            type string;
            description "AF identifier";
          }
    
          list af-dependent-relative {
            max-elements 25;
            description
              "The relatives of thedependent address-family";
            uses BGP-CONFIG-ENTID;
          }  // list af-dependent-relative
        }  // grouping BGP-CONFIG-RELATIVES-BAG
    
        grouping BGP-AF-DEP {
          description
            "BGP AF-dependent configuration information";
          container orf-capability-info {
            description
              "ORF capability item info";
            uses BGP-CONFIG-INFO;
          }  // container orf-capability-info
    
          container default-originate-info {
            description
              "The configuration of the defaultinformation
             originate";
            uses BGP-CONFIG-INFO;
          }  // container default-originate-info
    
          container max-prefixes-info {
            description
              "Maximum prefixes to accept item info";
            uses BGP-CONFIG-INFO;
          }  // container max-prefixes-info
    
          container orr-group-info {
            description "ORR group info";
            uses BGP-CONFIG-INFO;
          }  // container orr-group-info
    
          container next-hop-self-info {
            description
              "Nexthop attribute for receivedupdates to its own
             IP address";
            uses BGP-CONFIG-INFO;
          }  // container next-hop-self-info
    
          container next-hop-unchanged-info {
            description
              "An attribute is unchanged for nexthop";
            uses BGP-CONFIG-INFO;
          }  // container next-hop-unchanged-info
    
          container route-policy-in-info {
            description
              "Inbound route policy item info";
            uses BGP-CONFIG-INFO;
          }  // container route-policy-in-info
    
          container route-policy-out-info {
            description
              "Outbound route policy item info";
            uses BGP-CONFIG-INFO;
          }  // container route-policy-out-info
    
          container prefix-filter-info {
            description
              "Inbound prefix based filter item info";
            uses BGP-CONFIG-INFO;
          }  // container prefix-filter-info
    
          container remove-private-as-info {
            description
              "Outbound private-AS removal item info";
            uses BGP-CONFIG-INFO;
          }  // container remove-private-as-info
    
          container remove-private-as-in-info {
            description
              "Inbound private-AS removal item info";
            uses BGP-CONFIG-INFO;
          }  // container remove-private-as-in-info
    
          container route-reflector-info {
            description
              "Route-reflector client item info";
            uses BGP-CONFIG-INFO;
          }  // container route-reflector-info
    
          container legacy-pe-rt-info {
            description
              "Accept-legacy-pe-RT item info";
            uses BGP-CONFIG-INFO;
          }  // container legacy-pe-rt-info
    
          container af-enabled-info {
            description
              "Address family activate item info";
            uses BGP-CONFIG-INFO;
          }  // container af-enabled-info
    
          container send-community-info {
            description
              "Send community attribute item info";
            uses BGP-CONFIG-INFO;
          }  // container send-community-info
    
          container send-graceful-shutdown-community-info {
            description
              "Send Graceful shutdown related community
             attribute item info";
            uses BGP-CONFIG-INFO;
          }  // container send-graceful-shutdown-community-info
    
          container send-extended-community-info {
            description
              "Sending information aboutBGP extended community";
            uses BGP-CONFIG-INFO;
          }  // container send-extended-community-info
    
          container soft-reconfig-info {
            description
              "Information about the BGPsoft-reconfig";
            uses BGP-CONFIG-INFO;
          }  // container soft-reconfig-info
    
          container so-o-info {
            description
              "BGP Site-of-Origin info";
            uses BGP-CONFIG-INFO;
          }  // container so-o-info
    
          container upd-orig-loopchk-disable-info {
            description
              "Disable originator loopchk info";
            uses BGP-CONFIG-INFO;
          }  // container upd-orig-loopchk-disable-info
    
          container weight-info {
            description
              "Default weight item info";
            uses BGP-CONFIG-INFO;
          }  // container weight-info
    
          container allowas-in-info {
            description "Allowas-in item info";
            uses BGP-CONFIG-INFO;
          }  // container allowas-in-info
    
          container af-long-lived-graceful-start-stale-time-info {
            description
              "Long-lived-time item info";
            uses BGP-CONFIG-INFO;
          }  // container af-long-lived-graceful-start-stale-time-info
    
          container af-long-lived-graceful-start-capable-info {
            description
              "Long-lived-time item info";
            uses BGP-CONFIG-INFO;
          }  // container af-long-lived-graceful-start-capable-info
    
          container as-override-info {
            description
              "Overriding the autonomous number";
            uses BGP-CONFIG-INFO;
          }  // container as-override-info
    
          container aigp-info {
            description "AIGP info ";
            uses BGP-CONFIG-INFO;
          }  // container aigp-info
    
          container aigp-cost-community-info {
            description
              "AIGP Cost Community info ";
            uses BGP-CONFIG-INFO;
          }  // container aigp-cost-community-info
    
          container aigp-med {
            description "AIGP MED info ";
            uses BGP-CONFIG-INFO;
          }  // container aigp-med
    
          container accept-own-info {
            description
              "Information of an attributeaccept own";
            uses BGP-CONFIG-INFO;
          }  // container accept-own-info
    
          container multipath-info {
            description
              "Information about BGP multipath";
            uses BGP-CONFIG-INFO;
          }  // container multipath-info
    
          container fspec-valid-info {
            description "FSPEC Valid info";
            uses BGP-CONFIG-INFO;
          }  // container fspec-valid-info
    
          container next-hop-unchanged-mpath-info {
            description
              "Next hop attribute is unchangedin multipath";
            uses BGP-CONFIG-INFO;
          }  // container next-hop-unchanged-mpath-info
    
          container permanent-network-info {
            description
              "BGP network is permanent";
            uses BGP-CONFIG-INFO;
          }  // container permanent-network-info
    
          container send-mcast-attr-info {
            description
              "Sending the BGP multicast attributeinformation";
            uses BGP-CONFIG-INFO;
          }  // container send-mcast-attr-info
    
          container advertise-v4-afi-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-v4-afi-info
    
          container advertise-v6-afi-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-v6-afi-info
    
          container advertise-l2vpn-evpn-afi-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-l2vpn-evpn-afi-info
    
          container advertise-dis-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-dis-info
    
          container advertise-def-vrf-imp-disable-afi-v4-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-def-vrf-imp-disable-afi-v4-info
    
          container advertise-def-vrf-imp-disable-afi-v6-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-def-vrf-imp-disable-afi-v6-info
    
          container advertise-vrf-re-imp-disable-afi-v4-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-vrf-re-imp-disable-afi-v4-info
    
          container advertise-vrf-re-imp-disable-afi-v6-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-vrf-re-imp-disable-afi-v6-info
    
          container advertise-vrf-evpn-re-imp-disable-afi-v4-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-vrf-evpn-re-imp-disable-afi-v4-info
    
          container advertise-vrf-evpn-re-imp-disable-afi-v6-info {
            description "Advertise Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container advertise-vrf-evpn-re-imp-disable-afi-v6-info
    
          container af-encapsulation-type-info {
            description
              "The type of the encapsulation";
            uses BGP-CONFIG-INFO;
          }  // container af-encapsulation-type-info
    
          container import-afi-info {
            description "Import Afi Info ";
            uses BGP-CONFIG-INFO;
          }  // container import-afi-info
    
          container advertise-local-labeled-route-info {
            description
              "Advertise routes with local-label";
            uses BGP-CONFIG-INFO;
          }  // container advertise-local-labeled-route-info
    
          container enforce-multiple-labels-info {
            description
              "BGP multiple lables enforcementinformation";
            uses BGP-CONFIG-INFO;
          }  // container enforce-multiple-labels-info
    
          container cluster-id-allow-equal-info {
            description
              "Cluster ID check disabled info. This is the
             check that allows BGP to accept routes that
             contain a cluster list in which the first
             cluster ID is not equal to therouter's own
             cluster ID.";
            uses BGP-CONFIG-INFO;
          }  // container cluster-id-allow-equal-info
    
          container srv6-version4-info {
            description "Enable srv6 version 4";
            uses BGP-CONFIG-INFO;
          }  // container srv6-version4-info
    
          container slow-peer-info {
            description
              "Slow peer update group splitrelate information";
            uses BGP-CONFIG-INFO;
          }  // container slow-peer-info
    
          leaf has-orf-capability {
            type uint32;
            description "ORF capability";
          }
    
          leaf is-default-originate-not-disabled {
            type boolean;
            description
              "Flag to indicate defaultoriginate is not
             disabled";
          }
    
          leaf address-family-identifier {
            type string;
            description "Address Family Name";
          }
    
          leaf default-originate-route-policy {
            type string;
            description
              "The name of the default-originateroute policy";
          }
    
          leaf max-prefixes {
            type uint32;
            description
              "Maximum prefixes to accept";
          }
    
          leaf max-prefix-warn-threshold {
            type uint32;
            description
              "Warning message threshhold";
          }
    
          leaf is-max-prefix-warn-only {
            type boolean;
            description "Warning messages only";
          }
    
          leaf max-prefix-restart-time {
            type uint32;
            description "Restart time Value";
          }
    
          leaf orrg-roup-name {
            type string;
            description
              "Name of Optimal Route reflectiongroup the
             neighbor is part of";
          }
    
          leaf is-max-prefix-discard-extra-paths {
            type boolean;
            description "Discard extra paths";
          }
    
          leaf is-next-hop-self-disabled {
            type boolean;
            description "Disable next-hop calc";
          }
    
          leaf is-next-hop-unchanged {
            type boolean;
            description "Don't change next-hop";
          }
    
          leaf permanent-network {
            type boolean;
            description
              "Flag to indicate BGP networkis permanent";
          }
    
          leaf route-policy-in {
            type string;
            description
              "Inbound route policy name";
          }
    
          leaf route-policy-out {
            type string;
            description
              "Outbound route policy name";
          }
    
          leaf prefix-orf-filter {
            type string;
            description
              "Inbound prefix based filter";
          }
    
          leaf remove-private-as-out {
            type boolean;
            description
              "Outbound private-AS removal";
          }
    
          leaf entire-aspath-out {
            type boolean;
            description
              "Outbound private-AS removalif the entire AS Path
             hasprivate ASes";
          }
    
          leaf remove-private-as-int {
            type boolean;
            description
              "Remove private-AS internalif the internal AS
             Path hasprivate ASes";
          }
    
          leaf remove-private-asin {
            type boolean;
            description
              "Inbound private-AS removal";
          }
    
          leaf entire-aspath-in {
            type boolean;
            description
              "Inbound private-AS removal if the entire AS Path
             has private ASes";
          }
    
          leaf client-route-reflector {
            type boolean;
            description "Route-reflector client";
          }
    
          leaf accept-route-legacy-pe-rt {
            type boolean;
            description
              "accept-legacy-pe RT route";
          }
    
          leaf is-af-enabled {
            type boolean;
            description
              "Entity is activated for this address family";
          }
    
          leaf send-community-attribute {
            type boolean;
            description
              "Flag to indicate communityattribute is sent";
          }
    
          leaf send-graceful-shut-community-attributes {
            type boolean;
            description
              "Flag to indicate graceful shutdown related
             community attributes are sent";
          }
    
          leaf send-extended-community-attribute {
            type boolean;
            description
              "Flag to indicate BGP extended community
             attribute is sent";
          }
    
          leaf soft-reconfig-not-disabled {
            type boolean;
            description
              "Flag to indicate if BGP soft reconfiguration is
             not disabled";
          }
    
          leaf alway-use-soft-reconfig {
            type boolean;
            description
              "Flag to indicate if soft reconfig is always used";
          }
    
          leaf upd-orig-loopchk-disable {
            type boolean;
            description
              "Disable originator loop check";
          }
    
          leaf site-of-origin {
            type string;
            description
              "The routes that are originatedfrom site";
          }
    
          leaf default-weight {
            type uint32;
            description
              "The default value of the BGP weight";
          }
    
          leaf default-allowas {
            type uint32;
            description
              "Default allowas_in count";
          }
    
          leaf af-long-lived-graceful-restart-stale-time-send {
            type uint32;
            description
              "Stale time to be sent in long-lived
             graceful-restart capability";
          }
    
          leaf af-long-lived-graceful-restart-stale-time-accept {
            type uint32;
            description
              "Maxmimum acceptable long-lived stale time
             acceptable from neighbor";
          }
    
          leaf af-long-lived-graceful-restart-capable {
            type uint32;
            description
              "The time of the long-lived BGPgraceful-restart";
          }
    
          leaf is-as-override-disabled {
            type boolean;
            description "Disable as override";
          }
    
          leaf is-aigp-enabled {
            type boolean;
            description "AIGP enabled";
          }
    
          leaf is-aigp-cost-community-enabled {
            type boolean;
            description
              "Flag to indicate cost of theAIGP community is
             enabled";
          }
    
          leaf is-aigp-cost-community-id {
            type uint32;
            description "AIGP cost community ID";
          }
    
          leaf is-aigp-cost-community-transitive {
            type uint32;
            description
              "AIGP cost community ID is transitive";
          }
    
          leaf aigp-cost-community-poi {
            type uint32;
            description
              "Point of insertion for AIGP cost community";
          }
    
          leaf is-aigp-med-enabled {
            type boolean;
            description "AIGP to MED enabled";
          }
    
          leaf accept-own {
            type boolean;
            description "Accept Own";
          }
    
          leaf multipath {
            type boolean;
            description
              "Flag to indicate BGP multipath";
          }
    
          leaf is-fspec-valid-enabled {
            type boolean;
            description "FSPEC VALID enabled";
          }
    
          leaf is-next-hop-unchanged-mpath {
            type boolean;
            description
              "Don't change mpath next-hop";
          }
    
          leaf is-send-mcast-attr-enabled {
            type boolean;
            description
              "Flag to indicate multicastattribute enabled is
             sent";
          }
    
          leaf advertise-v4 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-v6 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-l2vpn-evpn {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-disable {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-def-vrf-imp-disable-v4 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-def-vrf-imp-disable-v6 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-vrf-re-imp-disable-v4 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-vrf-re-imp-disable-v6 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-vrf-evpn-re-imp-disable-v4 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf advertise-vrf-evpn-re-imp-disable-v6 {
            type uint8;
            description "Advertise afi";
          }
    
          leaf encapsulation-type {
            type uint32;
            description
              "The type of the BGP encapsulation";
          }
    
          leaf import {
            type boolean;
            description
              "Flag to indicate BGP importing";
          }
    
          leaf import-stitching {
            type boolean;
            description
              "Flag to indicate if BGP stitching RTs are
             imported";
          }
    
          leaf import-reoriginate {
            type boolean;
            description
              "Flag to indicate reoriginate import";
          }
    
          leaf import-reoriginate-stitching {
            type boolean;
            description
              "Flag to indicate reoriginate stitchingis
             imported in RTs";
          }
    
          leaf advertise-local-labeled-route {
            type uint32;
            description
              "Advertise routes with local-label";
          }
    
          leaf enforce-multiple-labels {
            type uint32;
            description
              "BGP multiple labels enforced";
          }
    
          leaf srv6-version4 {
            type boolean;
            description
              "SRV6 Version4 compatible neighbor";
          }
    
          leaf cluster-id-check-disabled {
            type boolean;
            description
              "Flag to indicate cluster ID check is disabled.
             This allows BGP to accept routes that may
             contain a cluster list in which the first
             cluster ID is not equal to the router's own
             cluster ID.";
          }
    
          leaf slow-peer-detection-enable {
            type boolean;
            description
              "Enable slow peer detection";
          }
    
          leaf slow-peer-static-flag {
            type boolean;
            description "Static splitting";
          }
    
          leaf slow-peer-update-group-split-type {
            type Bgp-slow-peer-updgrp-split;
            description "Disable or Permanent";
          }
    
          leaf rpki-options {
            type uint32;
            description
              "Options to indicate if rpki tested paths are to
             be stored";
          }
        }  // grouping BGP-AF-DEP
    
        grouping BGP-CONFIG-ENTID {
          description
            "BGP config group entity identification";
          list bgp-config-entid {
            description "Next entry in the list";
            container neighbor-address {
              description
                "Ip address of the neighor";
              uses BGP-ADDRTYPE;
            }  // container neighbor-address
    
            leaf address-family-identifier {
              type string;
              description
                "Identifier of the BGPconfig group entity";
            }
    
            leaf configuration-type {
              type Bgp-entities;
              description "Entity type";
            }
    
            leaf group-name {
              type string;
              description
                "Name of the BGP configgroup entity";
            }
          }  // list bgp-config-entid
        }  // grouping BGP-CONFIG-ENTID
    
        grouping BGP-CONFIG-INFO {
          description
            "BGP item config information";
          container inheritance-chain {
            description
              "Pointer to the inheritance chain";
            uses BGP-CONFIG-ENTID;
          }  // container inheritance-chain
    
          leaf is-item-configured {
            type boolean;
            description
              "TRUE if the item value is a configured value
             different from the default";
          }
        }  // grouping BGP-CONFIG-INFO
    
        grouping BGP-AF-INDEP {
          description
            "BGP AF-independent configuration information";
          container local-ip-address {
            description
              "Local ipv4 or ipv6 address for neighbor
             connection";
            uses BGP-ADDRTYPE;
          }  // container local-ip-address
    
          container local-address-subnet {
            description
              "local address ipv4 or ipv6 address mask";
            uses BGP-ADDRTYPE;
          }  // container local-address-subnet
    
          container remote-as-info {
            description
              "Remote AS number item info";
            uses BGP-CONFIG-INFO;
          }  // container remote-as-info
    
          container speaker-id-info {
            description
              "Configured speaker ID item info";
            uses BGP-CONFIG-INFO;
          }  // container speaker-id-info
    
          container min-advertisement-info {
            description
              "Minimum advertisement interval item info";
            uses BGP-CONFIG-INFO;
          }  // container min-advertisement-info
    
          container description-info {
            description
              "Description informationof BGP configuration";
            uses BGP-CONFIG-INFO;
          }  // container description-info
    
          container ebgp-hop-count-info {
            description
              "EBGP neighbors hop count item info";
            uses BGP-CONFIG-INFO;
          }  // container ebgp-hop-count-info
    
          container tcpmss-info {
            description
              "TCP Maximum Segment Size item info";
            uses BGP-CONFIG-INFO;
          }  // container tcpmss-info
    
          container bmp-servers-info {
            description
              "BMP Servers Configuredinfo";
            uses BGP-CONFIG-INFO;
          }  // container bmp-servers-info
    
          container keychain-info {
            description
              "Neighbor Keychain item info";
            uses BGP-CONFIG-INFO;
          }  // container keychain-info
    
          container local-as-info {
            description
              "Local AS number item info";
            uses BGP-CONFIG-INFO;
          }  // container local-as-info
    
          container password-info {
            description
              "Neighbor password item info";
            uses BGP-CONFIG-INFO;
          }  // container password-info
    
          container receive-buffer-info {
            description
              "Receive buffer sizes item info";
            uses BGP-CONFIG-INFO;
          }  // container receive-buffer-info
    
          container send-buffer-info {
            description
              "Send buffer sizes item info";
            uses BGP-CONFIG-INFO;
          }  // container send-buffer-info
    
          container shutdown-info {
            description "Shutdown item info";
            uses BGP-CONFIG-INFO;
          }  // container shutdown-info
    
          container timers-info {
            description "Timers item info";
            uses BGP-CONFIG-INFO;
          }  // container timers-info
    
          container local-address-info {
            description
              "Local address for theBGP configuration";
            uses BGP-CONFIG-INFO;
          }  // container local-address-info
    
          container msg-log-in-info {
            description
              "Message Log Inbound item info";
            uses BGP-CONFIG-INFO;
          }  // container msg-log-in-info
    
          container msg-log-out-info {
            description
              "Message Log Outbound item info";
            uses BGP-CONFIG-INFO;
          }  // container msg-log-out-info
    
          container update-source-info {
            description
              "Updating the source information";
            uses BGP-CONFIG-INFO;
          }  // container update-source-info
    
          container local-address-subnet-info {
            description
              "Local address of the subnet";
            uses BGP-CONFIG-INFO;
          }  // container local-address-subnet-info
    
          container dmz-link-bandwidth-info {
            description
              "DMZ link bandwidth item ";
            uses BGP-CONFIG-INFO;
          }  // container dmz-link-bandwidth-info
    
          container ebgp-recv-dmz-info {
            description
              "EBGP receive DMZ link bandwidth item info";
            uses BGP-CONFIG-INFO;
          }  // container ebgp-recv-dmz-info
    
          container ebgp-send-dmz-info {
            description
              "EBGP send DMZ link bandwidth item info";
            uses BGP-CONFIG-INFO;
          }  // container ebgp-send-dmz-info
    
          container ttl-security-info {
            description
              "BGP TTL Security item info";
            uses BGP-CONFIG-INFO;
          }  // container ttl-security-info
    
          container session-open-mode-info {
            description
              "TCP conn open mode info";
            uses BGP-CONFIG-INFO;
          }  // container session-open-mode-info
    
          container bfd-info {
            description "BFD item info";
            uses BGP-CONFIG-INFO;
          }  // container bfd-info
    
          container bfd-mininterval-info {
            description
              "BFD Mininterval item info";
            uses BGP-CONFIG-INFO;
          }  // container bfd-mininterval-info
    
          container bfd-multiplier-info {
            description
              "BFD Multiplier item info";
            uses BGP-CONFIG-INFO;
          }  // container bfd-multiplier-info
    
          container tos-info {
            description "TOS item info";
            uses BGP-CONFIG-INFO;
          }  // container tos-info
    
          container nsr-disabled-info {
            description "NSR item info";
            uses BGP-CONFIG-INFO;
          }  // container nsr-disabled-info
    
          container graceful-restart-disabled-info {
            description
              "Information of disabled gracefulrestart";
            uses BGP-CONFIG-INFO;
          }  // container graceful-restart-disabled-info
    
          container nbr-restart-time-info {
            description "Restart time item info";
            uses BGP-CONFIG-INFO;
          }  // container nbr-restart-time-info
    
          container nbr-stale-path-time-info {
            description
              "Stale-path time item info";
            uses BGP-CONFIG-INFO;
          }  // container nbr-stale-path-time-info
    
          container nbr-enforce-first-as-info {
            description
              "Neighbor enforce first AS info";
            uses BGP-CONFIG-INFO;
          }  // container nbr-enforce-first-as-info
    
          container cluster-id-info {
            description "Cluster ID item info";
            uses BGP-CONFIG-INFO;
          }  // container cluster-id-info
    
          container ignore-connected-info {
            description
              "Connection information is ignored";
            uses BGP-CONFIG-INFO;
          }  // container ignore-connected-info
    
          container internal-vpn-client-info {
            description
              "Internal VPN Client Info";
            uses BGP-CONFIG-INFO;
          }  // container internal-vpn-client-info
    
          container addpath-send-capability-info {
            description
              "BGP configuration additional pathcapability of
             sending";
            uses BGP-CONFIG-INFO;
          }  // container addpath-send-capability-info
    
          container addpath-receive-capability-info {
            description
              "BGP configuration additional pathcapability of
             receiving";
            uses BGP-CONFIG-INFO;
          }  // container addpath-receive-capability-info
    
          container egress-peer-engineering-info {
            description
              "Information for the peers egresstraffic";
            uses BGP-CONFIG-INFO;
          }  // container egress-peer-engineering-info
    
          container epe-peer-set-segment-id-info {
            description
              "Information for the EPE Peer set";
            uses BGP-CONFIG-INFO;
          }  // container epe-peer-set-segment-id-info
    
          container epe-peer-segment-id-info {
            description
              "Information for the EPE Peer SID";
            uses BGP-CONFIG-INFO;
          }  // container epe-peer-segment-id-info
    
          container update-error-handling-no-reset-info {
            description
              "Error-handling avoid-reset config info";
            uses BGP-CONFIG-INFO;
          }  // container update-error-handling-no-reset-info
    
          container prefix-validation-disable-info {
            description "RPKI disable info";
            uses BGP-CONFIG-INFO;
          }  // container prefix-validation-disable-info
    
          container prefix-validation-use-validit-info {
            description "RPKI use validity";
            uses BGP-CONFIG-INFO;
          }  // container prefix-validation-use-validit-info
    
          container prefix-validation-allow-invalid-info {
            description
              "RPKI allow invalid info";
            uses BGP-CONFIG-INFO;
          }  // container prefix-validation-allow-invalid-info
    
          container prefix-validation-signal-ibgp-info {
            description "RPKI signal ibgp info";
            uses BGP-CONFIG-INFO;
          }  // container prefix-validation-signal-ibgp-info
    
          container neighbor-update-filter-exists-info {
            description
              "Neighbor update filter configuration info";
            uses BGP-CONFIG-INFO;
          }  // container neighbor-update-filter-exists-info
    
          container neighbor-update-filter-message-buffer-count-info {
            description
              "Number of neighbor messages filtered";
            uses BGP-CONFIG-INFO;
          }  // container neighbor-update-filter-message-buffer-count-info
    
          container neighbor-update-filter-syslog-disable-info {
            description
              "Update in filtering loggingdisable";
            uses BGP-CONFIG-INFO;
          }  // container neighbor-update-filter-syslog-disable-info
    
          container neighbor-update-filter-attribute-info {
            description
              "Update in filteringattribute filter group";
            uses BGP-CONFIG-INFO;
          }  // container neighbor-update-filter-attribute-info
    
          container graceful-shutdown-info {
            description
              "Graceful BGP session shutdown";
            uses BGP-CONFIG-INFO;
          }  // container graceful-shutdown-info
    
          container graceful-shutdown-loc-pref-info {
            description
              "The local prefrence for graceful shutdown";
            uses BGP-CONFIG-INFO;
          }  // container graceful-shutdown-loc-pref-info
    
          container graceful-shutdown-as-prepends-info {
            description
              "GracefulShutdownASPrepends info";
            uses BGP-CONFIG-INFO;
          }  // container graceful-shutdown-as-prepends-info
    
          container graceful-shutdown-activate-info {
            description
              "Information for the activation ofgraceful
             shutdown";
            uses BGP-CONFIG-INFO;
          }  // container graceful-shutdown-activate-info
    
          container update-in-safi14-merge-info {
            description
              "Merge SAFI-1 and SAFI-4 updates from neighbor
             info";
            uses BGP-CONFIG-INFO;
          }  // container update-in-safi14-merge-info
    
          container capability-negotiation-suppressed-info {
            description
              "Information for the negotiation of suppressed
             capability";
            uses BGP-CONFIG-INFO;
          }  // container capability-negotiation-suppressed-info
    
          container suppress4-bbyte-as-info {
            description
              "BGP suppress 4byte-as item info";
            uses BGP-CONFIG-INFO;
          }  // container suppress4-bbyte-as-info
    
          container neighbor-remote-as-list-info {
            description
              "Neighbor range  remote-as-list group info";
            uses BGP-CONFIG-INFO;
          }  // container neighbor-remote-as-list-info
    
          container max-peers-info {
            description
              "Max dynamic nbrs in range info";
            uses BGP-CONFIG-INFO;
          }  // container max-peers-info
    
          container idle-watch-time-info {
            description
              "Idle Watch time item info";
            uses BGP-CONFIG-INFO;
          }  // container idle-watch-time-info
    
          container ao-keychain-info {
            description
              "Neighbor AO keychain item info";
            uses BGP-CONFIG-INFO;
          }  // container ao-keychain-info
    
          container extended-nh-encoding-capability-suppressed-info {
            description
              "Information for the extended nexthop encoding
             capability";
            uses BGP-CONFIG-INFO;
          }  // container extended-nh-encoding-capability-suppressed-info
    
          leaf remote-as-number-xx {
            type uint32;
            description
              "First half of Remote ASN";
          }
    
          leaf remote-as-number-yy {
            type uint32;
            description
              "Second half of Remote ASN";
          }
    
          leaf configured-speaker-id {
            type uint32;
            description
              "Identification for the configuredspeaker";
          }
    
          leaf tcp-mss {
            type uint32;
            description "Maximum Segment Size";
          }
    
          leaf min-advertisement-interval {
            type uint32;
            description
              "Minimum amount of time beforesending an
             advertisement";
          }
    
          leaf min-advertisement-interval-msecs {
            type uint32;
            units "millisecond";
            description
              "Minimum advertisement time between updates for a
             neighborsession in  milliseconds";
          }
    
          leaf description {
            type string;
            description
              "BGP address-family independentconfiguration
             description";
          }
    
          leaf ebgp-hop-count {
            type uint32;
            description
              "EBGP neighbors hop count";
          }
    
          leaf bmp-servers {
            type uint32;
            description "BMP Servers activated";
          }
    
          leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled {
            type boolean;
            description
              "If true, MPLS and NULL rewrite is disabled; if
             false, it is enabled";
          }
    
          leaf keychain {
            type string;
            description "Neighbor keychain Name";
          }
    
          leaf local-as-number-xx {
            type uint32;
            description
              "First half of Local ASN";
          }
    
          leaf local-as-number-yy {
            type uint32;
            description
              "Second half of Local ASN";
          }
    
          leaf local-as-no-prepend {
            type boolean;
            description
              "Local AS no-prepend option";
          }
    
          leaf password {
            type string;
            description "Neighbor password";
          }
    
          leaf socket-buffer-receive-size {
            type uint32;
            description
              "Socket receive buffer size";
          }
    
          leaf bgp-buffer-receive-size {
            type uint32;
            description
              "BGP receive buffer size";
          }
    
          leaf socket-buffer-send-size {
            type uint32;
            description
              "Socket send buffer size";
          }
    
          leaf bgp-buffer-send-size {
            type uint32;
            description "BGP send buffer size";
          }
    
          leaf adminstrative-shutdown {
            type boolean;
            description
              "Flag to indicate peer is administratively
             shutdown";
          }
    
          leaf keepalive-interval {
            type uint32;
            description
              "Timer for the keepalive event";
          }
    
          leaf hold-time-value {
            type uint32;
            description "Holdtime";
          }
    
          leaf min-acc-hold-time-value {
            type uint32;
            description
              "Min acceptable holdtimefrom neighbor";
          }
    
          leaf msg-log-in-buf-count {
            type uint32;
            description
              "Message Log buffer Inbound count";
          }
    
          leaf msg-log-out-buf-count {
            type uint32;
            description
              "Message Log buffer Outbound count";
          }
    
          leaf route-updates-source {
            type string;
            description
              "Source of routing updates";
          }
    
          leaf local-address-subnet-len {
            type uint32;
            description
              "local address prefix len";
          }
    
          leaf dmz-link-bandwidth {
            type uint32;
            description
              "Propagate the DMZ link bandwidth";
          }
    
          leaf ebgp-recv-dmz {
            type uint32;
            description
              "Receive Bandwidth of link to single-hop eBGP
             peer";
          }
    
          leaf ebgp-send-dmz-mode {
            type Bgp-ebgp-send-dmz-enable-mode;
            description
              "Send DMZ link bandwidthto ebgp peer";
          }
    
          leaf ttl-security {
            type uint32;
            description
              "Enable BGP TTL Security";
          }
    
          leaf update-in-safi14-merge {
            type uint32;
            description
              "Merge SAFI-1 and SAFI-4 updates from neighbor";
          }
    
          leaf capability-negotiation-suppressed {
            type uint32;
            description
              "Disabling the capabilitynegotiation completely";
          }
    
          leaf four-byte-as-capability-suppressed {
            type uint32;
            description
              "Suppressing the 4-byte AS capability";
          }
    
          leaf extended-nh-encoding-capability-suppressed {
            type uint32;
            description
              "Disabling the extendednexthop encoding
             capability";
          }
    
          leaf session-open-mode {
            type Bgp-tcp-mode;
            description
              "TCP open mode to be used ";
          }
    
          leaf bfd {
            type uint32;
            description
              "Fast failure detection using BFD";
          }
    
          leaf bfd-mininterval {
            type uint32;
            description "BFD Minimum Interval";
          }
    
          leaf bfd-multiplier {
            type uint32;
            description "BFD Multiplier";
          }
    
          leaf tos-type-info {
            type uint8;
            description
              "Precedence or DSCP type";
          }
    
          leaf tos-value-info {
            type uint8;
            description
              "Precedence or DSCP value";
          }
    
          leaf nsr-disabled {
            type uint32;
            description "Support for NSR";
          }
    
          leaf graceful-restart-disabled {
            type uint32;
            description
              "Support for graceful-restart";
          }
    
          leaf nbr-restart-time {
            type uint32;
            units "second";
            description
              "Restart time (in seconds)";
          }
    
          leaf nbr-stale-path-time {
            type uint32;
            units "second";
            description
              "Stale-path time(in seconds)";
          }
    
          leaf nbr-enforce-first-as-status {
            type boolean;
            description
              "Flag to indicate whether BGPneighbor enforced as
             firstautonomous path";
          }
    
          leaf nbr-cluster-id-type-info {
            type uint8;
            description "Cluster ID Type";
          }
    
          leaf nbr-cluster-id-info {
            type uint32;
            description "Cluster ID value";
          }
    
          leaf ignore-connected-check {
            type boolean;
            description
              "If true, don't do NHconnected check for nbr";
          }
    
          leaf internal-vpn-client {
            type boolean;
            description
              "If true, the VPN client isan iBGP CE peer";
          }
    
          leaf addpath-send-capability {
            type uint32;
            description
              "Indicates if addpath send capability is enabled
             or disabled";
          }
    
          leaf update-error-handling-no-reset {
            type uint32;
            description
              "Indicates if avoid-reset behavior is enabled
             during update error-handling";
          }
    
          leaf addpath-receive-capability {
            type uint32;
            description
              "Indicates if addpath receive capability is
             enabled or disabled";
          }
    
          leaf egress-peer-engineering {
            type uint32;
            description
              "Indicates egress peer engineering is enabled";
          }
    
          leaf epe-peer-sets {
            type string;
            description
              "Bitfields representing which EPE peer sets the
             neighbor belongs to";
          }
    
          leaf epe-peer-segment-id {
            type uint32;
            description
              "Manual segment Index assigned for this neighbor";
          }
    
          leaf prefix-validation-disable {
            type uint32;
            description
              "Disabeling the BGP bestpathprefix validation";
          }
    
          leaf bestpath-use-origin-as-validity {
            type uint32;
            description
              "Bestpath Use Origin-AS Va";
          }
    
          leaf prefix-validation-allow-invalid {
            type uint32;
            description
              "Allowing an invalid prefixas the BGP best path";
          }
    
          leaf prefix-validation-signal-ibgp {
            type uint32;
            description
              "Performs a prefix origin validationfor internal
             BGP";
          }
    
          leaf neighbor-update-filter-exists {
            type boolean;
            description
              "Indicates if neighbor filter configuration
             exists";
          }
    
          leaf neighbor-update-filter-message-buffer-count {
            type uint32;
            description
              "Count of neighbor filter message buffers";
          }
    
          leaf neighbor-update-filter-message-buffer-is-non-circular {
            type boolean;
            description
              "Indicates if neighbor update filter message
             buffer is circular or not";
          }
    
          leaf neighbor-update-filter-logging-disable {
            type boolean;
            description
              "Indicates if neighbor filter logging is disabled";
          }
    
          leaf neighbor-update-filter-attribute-filter-group-name {
            type string;
            description
              "Name of the update filter attributefilter of the
             neighbor";
          }
    
          leaf graceful-shutdown-exists {
            type uint32;
            description
              "re-advertise all routes to and from this
             neighbor with the GSHUT community during
             Shutdown or bring-up";
          }
    
          leaf graceful-shutdown-loc-pref {
            type uint32;
            description
              "Local Preference to advertise routes with during
             Graceful Shutdown to IBGP. Default=No Touch";
          }
    
          leaf graceful-shutdown-as-prepends {
            type uint32;
            description
              "Prepend the local AS this many times to the AS
             path of routes advertised during Graceful
             Shutdown";
          }
    
          leaf graceful-shutdown-activate {
            type uint32;
            description
              "Graceful Shutdown state is activated";
          }
    
          leaf neighbor-remote-as-list-group-name {
            type string;
            description
              "Name of the remote atonomous system list group
             of neighbor";
          }
    
          leaf max-peers {
            type uint32;
            description
              "Maximum dynamic nbrs in range";
          }
    
          leaf idle-watch-time {
            type uint32;
            units "second";
            description
              "Idle Watch time(in seconds)";
          }
    
          leaf ao-keychain {
            type string;
            description
              "Neighbor AO keychain name";
          }
    
          leaf ao-include-tcp-options {
            type uint32;
            description "Include TCP options AO";
          }
    
          leaf ao-accept-mismatch-connection {
            type uint32;
            description
              "Accepting mismatch connectionfor AO";
          }
    
          leaf local-as-replace-as {
            type boolean;
            description
              "Local AS Replace-AS option";
          }
    
          leaf local-as-dual-as {
            type boolean;
            description
              "Local AS Dual-AS option";
          }
        }  // grouping BGP-AF-INDEP
    
        grouping BGP-IPV6-SRPOLICY-ADDR {
          description "BGP IPV6 SRPOLICY ADDR";
          leaf ipv6-srpolicy-address {
            type yang:hex-string;
            description
              "IPv6 address of thesrpolicy";
          }
        }  // grouping BGP-IPV6-SRPOLICY-ADDR
    
        grouping IPV6-SR-POLICY-ADDRESS-TYPE {
          description
            "IPv6 SR Policy Address type";
          uses BGP-IPV6-SRPOLICY-ADDR;
        }  // grouping IPV6-SR-POLICY-ADDRESS-TYPE
    
        grouping BGP-IPV4-SRPOLICY-ADDR {
          description "BGP IPV4 SRPOLICY ADDR";
          leaf ipv4-srpolicy-address {
            type yang:hex-string;
            description
              "IPv4 address of thesrpolicy";
          }
        }  // grouping BGP-IPV4-SRPOLICY-ADDR
    
        grouping IPV4-SR-POLICY-ADDRESS-TYPE {
          description
            "IPv4 SR Policy Address type";
          uses BGP-IPV4-SRPOLICY-ADDR;
        }  // grouping IPV4-SR-POLICY-ADDRESS-TYPE
    
        grouping BGP-L2VPN-MSPW-ADDR {
          description "BGP L2VPN MSPW ADDR";
          leaf l2vpn-address {
            type yang:hex-string;
            description
              "L2vpn address of the BGP mspw";
          }
        }  // grouping BGP-L2VPN-MSPW-ADDR
    
        grouping L2VPN-MSPW-ADDRESS-TYPE {
          description "L2VPN MSPW Address type";
          uses BGP-L2VPN-MSPW-ADDR;
        }  // grouping L2VPN-MSPW-ADDRESS-TYPE
    
        grouping BGP-L2VPN-EVPN-ADDR {
          description "BGP L2VPN EVPN ADDR";
          leaf l2vpn-evpn-address {
            type yang:hex-string;
            description "l2vpn evpn address";
          }
        }  // grouping BGP-L2VPN-EVPN-ADDR
    
        grouping L2VPN-EVPN-ADDRESS-TYPE {
          description "L2VPN EVPN Address type";
          uses BGP-L2VPN-EVPN-ADDR;
        }  // grouping L2VPN-EVPN-ADDRESS-TYPE
    
        grouping BGP-L2VPN-ADDR {
          description "BGP L2VPN ADDR";
          leaf l2vpn-address {
            type yang:hex-string;
            description
              "L2vpn address of the protocol BGP";
          }
        }  // grouping BGP-L2VPN-ADDR
    
        grouping BGP-ADDRTYPE {
          description "BGP ADDRTYPE";
          container l2vpn-vpls-address {
            when "../afi = 'l2vpn-vpls'" {
              description
                "../AFI = 'L2VPN_VPLS'";
            }
            description "L2VPN VPLS Addr";
            uses BGP-L2VPN-ADDR;
          }  // container l2vpn-vpls-address
    
          container l2vpn-evpn-address {
            when "../afi = 'l2vpn-evpn'" {
              description
                "../AFI = 'L2VPN_EVPN'";
            }
            description "L2VPN EVPN Addr";
            uses L2VPN-EVPN-ADDRESS-TYPE;
          }  // container l2vpn-evpn-address
    
          container l2vpn-mspw-address {
            when "../afi = 'l2vpn-mspw'" {
              description
                "../AFI = 'L2VPN_MSPW'";
            }
            description "L2VPN MSPW Addr";
            uses L2VPN-MSPW-ADDRESS-TYPE;
          }  // container l2vpn-mspw-address
    
          container ipv4-sr-policy-address {
            when "../afi = 'ipv4-sr-policy'" {
              description
                "../AFI = 'IPv4SRPolicy'";
            }
            description "IPV4 Policy Addr";
            uses IPV4-SR-POLICY-ADDRESS-TYPE;
          }  // container ipv4-sr-policy-address
    
          container ipv6-sr-policy-address {
            when "../afi = 'ipv6-sr-policy'" {
              description
                "../AFI = 'IPv6SRPolicy'";
            }
            description "IPV6 Policy Addr";
            uses IPV6-SR-POLICY-ADDRESS-TYPE;
          }  // container ipv6-sr-policy-address
    
          leaf afi {
            type Bgp-afi;
            description "AFI";
          }
    
          leaf ipv4-address {
            when "../afi = 'ipv4'" {
              description "../AFI = 'IPv4'";
            }
            type inet:ipv4-address;
            description "IPv4 Addr";
          }
    
          leaf ipv4-mcast-address {
            when "../afi = 'ipv4-multicast'" {
              description
                "../AFI = 'IPv4Multicast'";
            }
            type inet:ipv4-address;
            description "IPv4 Mcast Addr";
          }
    
          leaf ipv4-label-address {
            when "../afi = 'ipv4-labeled'" {
              description
                "../AFI = 'IPv4Labeled'";
            }
            type inet:ipv4-address;
            description "IPv4 Label Addr";
          }
    
          leaf ipv4-tunnel-address {
            when "../afi = 'ipv4-tunnel'" {
              description
                "../AFI = 'IPv4Tunnel'";
            }
            type Ipv4-tunnel-address;
            description "IPv4 Tunnel";
          }
    
          leaf ipv4-mdt-address {
            when "../afi = 'ipv4-mdt'" {
              description "../AFI = 'IPv4MDT'";
            }
            type Ipv4-mdt-address;
            description "IPv4 MDT Addr";
          }
    
          leaf ipv4vpn-address {
            when "../afi = 'vpnv4'" {
              description "../AFI = 'VPNv4'";
            }
            type inet:ipv4-address;
            description "IPv4 VPN Addr";
          }
    
          leaf ipv4vpna-mcastddress {
            when "../afi = 'vpnv4-multicast'" {
              description
                "../AFI = 'VPNv4Multicast'";
            }
            type inet:ipv4-address;
            description "IPv4 VPN Mcast Addr";
          }
    
          leaf ipv6-address {
            when "../afi = 'ipv6'" {
              description "../AFI = 'IPv6'";
            }
            type Ipv6-address;
            description "IPV6 Addr";
          }
    
          leaf ipv6-mcast-address {
            when "../afi = 'ipv6-multicast'" {
              description
                "../AFI = 'IPv6Multicast'";
            }
            type Ipv6-address;
            description "IPV6 Mcast Addr";
          }
    
          leaf ipv6-label-address {
            when "../afi = 'ipv6-labeled'" {
              description
                "../AFI = 'IPv6Labeled'";
            }
            type Ipv6-address;
            description "IPv6 Label Addr";
          }
    
          leaf ipv6vpn-address {
            when "../afi = 'vpnv6'" {
              description "../AFI = 'VPNv6'";
            }
            type Ipv6-address;
            description "IPv6 VPN Addr";
          }
    
          leaf ipv6vpn-mcast-address {
            when "../afi = 'vpnv6-multicast'" {
              description
                "../AFI = 'VPNv6Multicast'";
            }
            type Ipv6-address;
            description "IPv6 VPN Mcast Addr";
          }
    
          leaf rt-constraint-address {
            when "../afi = 'rt-constraint'" {
              description
                "../AFI = 'RTConstraint'";
            }
            type Rt-constraint-address;
            description "RT Constrt Addr";
          }
    
          leaf ipv6mvpn-address {
            when "../afi = 'ipv6-mvpn'" {
              description "../AFI = 'IPv6MVPN'";
            }
            type Ipv6mvpn-address;
            description "MVPN addr";
          }
    
          leaf ipv4mvpn-address {
            when "../afi = 'ipv4-mvpn'" {
              description "../AFI = 'IPv4MVPN'";
            }
            type Ipv4mvpn-address;
            description "MVPN4 addr";
          }
    
          leaf ls-ls-address {
            when "../afi = 'ls-ls'" {
              description "../AFI = 'LS_LS'";
            }
            type Ls-ls-address;
            description
              "LINKSTATE LINKSTATE Addr";
          }
    
          leaf ipv4-flowspec-address {
            when "../afi = 'ipv4-flowspec'" {
              description
                "../AFI = 'IPv4Flowspec'";
            }
            type Ipv4-flowspec-address;
            description "IPV4 Flowspec Addr";
          }
    
          leaf ipv6-flowspec-address {
            when "../afi = 'ipv6-flowspec'" {
              description
                "../AFI = 'IPv6Flowspec'";
            }
            type Ipv6-flowspec-address;
            description "IPV6 Flowspec Addr";
          }
    
          leaf ipv4vpn-flowspec-address {
            when "../afi = 'vpnv4-flowspec'" {
              description
                "../AFI = 'VPNv4Flowspec'";
            }
            type Ipv4-flowspec-address;
            description "IPV4 VPN Flowspec Addr";
          }
    
          leaf ipv6vpn-flowspec-address {
            when "../afi = 'vpnv6-flowspec'" {
              description
                "../AFI = 'VPNv6Flowspec'";
            }
            type Ipv6-flowspec-address;
            description "IPV6 VPN Flowspec Addr";
          }
        }  // grouping BGP-ADDRTYPE
    
        grouping BGP-CONFIG-ENTITY-BAG {
          description
            "BGP entity config information";
          container neighbor-address-xr {
            description "Neighbor Address";
            uses BGP-ADDRTYPE;
          }  // container neighbor-address-xr
    
          container af-independent-config {
            description
              "BGP address-family independentconfiguration";
            uses BGP-AF-INDEP;
          }  // container af-independent-config
    
          leaf group-name {
            type string;
            description "Entity/group name";
          }
    
          leaf configuration-type {
            type Bgp-entities;
            description "Entity type";
          }
    
          leaf address-family-identifier {
            type string;
            description "AF identifier";
          }
    
          list af-dependent-config {
            max-elements 25;
            description
              "Dependent configuration peraddress-family";
            uses BGP-AF-DEP;
          }  // list af-dependent-config
        }  // grouping BGP-CONFIG-ENTITY-BAG
      }  // submodule Cisco-IOS-XR-ipv4-bgp-oper-sub1
    

© 2024 YumaWorks, Inc. All rights reserved.