Cisco-IOS-XR-linux-xlnc-oper-sub1

This submodule contains a collection of YANG definitions for Cisco IOS-XR linux-xlnc package operational data. Copyright (c) 20...

  • Version: 2020-06-22

    Cisco-IOS-XR-linux-xlnc-oper-sub1@2020-06-22


    
      submodule Cisco-IOS-XR-linux-xlnc-oper-sub1 {
    
        yang-version 1;
    
        belongs-to
          Cisco-IOS-XR-linux-xlnc-oper {
            prefix
              Cisco-IOS-XR-linux-xlnc-oper;
        }
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        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 linux-xlnc package operational data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-06-22" {
          description
            "Added address-only interface types and corresponding inconsistencies";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
    
        typedef Bag-mac-addr {
          type yang:mac-address;
          description "Bag mac addr";
        }
    
        typedef Xlnc-bag-admin-state {
          type enumeration {
            enum "admin-down" {
              value 0;
              description
                "Administratively down";
            }
            enum "admin-up" {
              value 1;
              description "Administratively up";
            }
            enum "admin-unknown" {
              value 2;
              description "Unknown admin state";
            }
          }
          description
            "Administrative state values";
        }
    
        typedef Xlnc-bag-attr {
          type enumeration {
            enum "admin-state" {
              value 0;
              description
                "Interface administrative state";
            }
            enum "mac-address" {
              value 1;
              description "MAC address";
            }
            enum "l3-mtu" {
              value 2;
              description "L3 MTU";
            }
            enum "ipv4-address" {
              value 3;
              description "IPv4 address";
            }
            enum "ipv6-enabled" {
              value 4;
              description "IPv6 enabled";
            }
            enum "ipv6-address" {
              value 5;
              description "IPv6 address";
            }
            enum "unknown-attr" {
              value 6;
              description "Unknown attribute";
            }
          }
          description "Interface attribute type";
        }
    
        typedef Xlnc-bag-op {
          type enumeration {
            enum "set" {
              value 0;
              description "Set";
            }
            enum "delete" {
              value 1;
              description "Delete";
            }
            enum "unknown-op" {
              value 2;
              description "Unknown";
            }
          }
          description
            "Operation type (set or delete)";
        }
    
        typedef Xlnc-bag-sync-dir {
          type enumeration {
            enum "to-xr" {
              value 0;
              description "From Linux to IOS-XR";
            }
            enum "to-linux" {
              value 1;
              description "From IOS-XR to Linux";
            }
            enum "unknown-dir" {
              value 2;
              description "Unknown direction";
            }
          }
          description
            "Synchronization direction";
        }
    
        typedef Xlnc-bag-error-category {
          type enumeration {
            enum "default-error-category" {
              value 0;
              description "Default error type";
            }
            enum "set-linux-error-category" {
              value 1;
              description
                "Error setting interface attributes in Linux";
            }
            enum "set-ios-xr-error-category" {
              value 2;
              description
                "Error setting interface attributes in IOS-XR";
            }
            enum "im-resync-error-category" {
              value 3;
              description
                "Error setting interface attribute during IM
               resync";
            }
            enum "unknown-category" {
              value 4;
              description
                "Unknown error category";
            }
          }
          description "Error category";
        }
    
        typedef Xlnc-bag-inconsistency-category {
          type enumeration {
            enum "attribute-conflicting-sync" {
              value 0;
              description
                "An attempt was made to synchronize interface
               attributes in one direction, when they were
               already being synchronized in the opposing
               direction.";
            }
            enum "conflicting-im-resync" {
              value 1;
              description
                "During an IM resync, an attempt was made to
               synchronize interface attributes in one
               direction when they were already being
               synchronized in the opposing direction.";
            }
            enum
              "more-than-one-ipv6-link-local-address" {
              value 2;
              description
                "An attempt was made to configure more than one
               link-local IPv6 address on a single interface.";
            }
            enum "more-than-on-ipv4-address" {
              value 3;
              description
                "An attempt was made to configure more than one
               primary IPv4 address on a single interface.";
            }
            enum
              "delete-unknown-ipv6-link-local-address" {
              value 4;
              description
                "An attempt was made to remove an unknown
               link-local IPv6 address from an interface.";
            }
            enum "delete-unknown-ipv4-address" {
              value 5;
              description
                "An attempt was made to remove an unknown IPv4
               address from an interface.";
            }
            enum
              "attribute-set-in-linux-failure" {
              value 6;
              description
                "An attempt to set an interface attribute value
               in Linux failed.";
            }
            enum "attribute-set-in-xr-failure" {
              value 7;
              description
                "An attempt to set an interface attribute value
               in IOS-XR failed.";
            }
            enum "mtu-too-small-for-ipv6" {
              value 8;
              description
                "The MTU set in Linux is smaller than the
               minimum size required for IPv6. The Linux
               kernel will remove any IPv6 addresses on the
               interface, which must be re-added when the MTU
               is increased.";
            }
            enum
              "mac-address-change-not-supported" {
              value 9;
              description
                "MAC address changes are not supported for this
               interface type on this platform. The MAC
               address has not been changed.";
            }
            enum "unknown-inconsistency" {
              value 10;
              description
                "Unknown inconsistency type";
            }
            enum "delete-loopback-address" {
              value 11;
              description
                "An address that was automatically added to a
               Linux loopback device to provide L3
               reachability has been unexpectedly removed.
               Traffic to/from Linux applications using that
               address will be dropped";
            }
          }
          description "XLNC inconsistency types";
        }
    
        typedef Bag-in6-addr {
          type inet:ipv6-address;
          description "Bag in6 addr";
        }
    
        grouping XLNC-BAG-INTERFACE-INCONSISTENCIES {
          description
            "XLNC inconsistencies observed for a given
           interface and associated interface metadata.";
          leaf xr-interface-name {
            type string;
            description "IOS-XR interface name";
          }
    
          leaf linux-interface-name {
            type string;
            description
              "Linux interface name of the corresponding
             exposed XR interface (EXI)";
          }
    
          leaf vrf-name {
            type string;
            description
              "IOS-XR VRF name the interface is assigned to";
          }
    
          leaf linux-network-namespace-name {
            type string;
            description
              "Linux network namespace name corresponding to
             the IOS-XR VRF the interface is assigned to";
          }
    
          leaf inconsistencies-truncated {
            type boolean;
            description
              "The oldest entries are no longer saved, because
             the sequence became too long.";
          }
    
          list inconsistency {
            description
              "Sequence of inconsistencies";
            uses XLNC-BAG-INCONSISTENCY;
          }  // list inconsistency
        }  // grouping XLNC-BAG-INTERFACE-INCONSISTENCIES
    
        grouping XLNC-BAG-SET-XR-ERROR-TYPE {
          description
            "Failed operation to set an attribute in XR.";
          container operation {
            description
              "Failed synchronization operation";
            uses XLNC-BAG-SYNC-INTF-ATTRS-OP;
          }  // container operation
    
          leaf ios-xr-error-decode {
            type string;
            description
              "Optional decode string for the IOS-XR error.";
          }
    
          leaf error-string {
            type string;
            description
              "Optional error string describing the failure.";
          }
        }  // grouping XLNC-BAG-SET-XR-ERROR-TYPE
    
        grouping XLNC-BAG-SET-LINUX-ERROR-TYPE {
          description
            "Failed operation to set an attribute in Linux.";
          container operation {
            description
              "Failed synchronization operation";
            uses XLNC-BAG-SYNC-INTF-ATTRS-OP;
          }  // container operation
    
          leaf attribute-value-valid {
            type boolean;
            description
              "Indicates whether the attribute value in the
             synchronization operation is valid.";
          }
    
          leaf ios-xr-error-decode {
            type string;
            description
              "Decode string for the IOS-XR error.";
          }
    
          leaf libnl-error-decode {
            type string;
            description
              "Optional decode string for the libnl error.";
          }
        }  // grouping XLNC-BAG-SET-LINUX-ERROR-TYPE
    
        grouping XLNC-BAG-V6-ADDR {
          description "IPv6 address type";
          leaf address {
            type Bag-in6-addr;
            description
              "Linux representation of the address";
          }
    
          leaf prefix-length {
            type uint8;
            description "Network prefix length";
          }
        }  // grouping XLNC-BAG-V6-ADDR
    
        grouping XLNC-BAG-V4-ADDR {
          description "IPv4 address type";
          leaf address {
            type inet:ipv4-address;
            description
              "Linux representation of the address";
          }
    
          leaf prefix-length {
            type uint8;
            description "Network prefix length";
          }
        }  // grouping XLNC-BAG-V4-ADDR
    
        grouping XLNC-ATTR-VALUE-TYPE {
          description
            "Interface attribute values";
          container ipv4-address {
            when
              "../attribute-type = 'ipv4-address'" {
              description
                "../AttributeType = 'IPv4Address'";
            }
            description "IPv4 address";
            uses XLNC-BAG-V4-ADDR;
          }  // container ipv4-address
    
          container ipv6-address {
            when
              "../attribute-type = 'ipv6-address'" {
              description
                "../AttributeType = 'IPv6Address'";
            }
            description "IPv6 address";
            uses XLNC-BAG-V6-ADDR;
          }  // container ipv6-address
    
          leaf attribute-type {
            type Xlnc-bag-attr;
            description "AttributeType";
          }
    
          leaf admin-state {
            when
              "../attribute-type = 'admin-state'" {
              description
                "../AttributeType = 'AdminState'";
            }
            type Xlnc-bag-admin-state;
            description
              "Interface administrative state";
          }
    
          leaf mac-address {
            when
              "../attribute-type = 'mac-address'" {
              description
                "../AttributeType = 'MACAddress'";
            }
            type Bag-mac-addr;
            description "MAC address";
          }
    
          leaf l3-mtu {
            when "../attribute-type = 'l3-mtu'" {
              description
                "../AttributeType = 'L3_MTU'";
            }
            type uint32;
            description "L3 MTU";
          }
    
          leaf ipv6-enabled {
            when
              "../attribute-type = 'ipv6-enabled'" {
              description
                "../AttributeType = 'IPv6Enabled'";
            }
            type boolean;
            description "IPv6 enabled in IOS-XR";
          }
        }  // grouping XLNC-ATTR-VALUE-TYPE
    
        grouping XLNC-BAG-SYNC-INTF-ATTRS-OP {
          description
            "Interface attributes synchronization operation";
          container attribute-value {
            description
              "Value of interface attribute";
            uses XLNC-ATTR-VALUE-TYPE;
          }  // container attribute-value
    
          leaf synchronization-direction {
            type Xlnc-bag-sync-dir;
            description
              "Synchronization direction";
          }
    
          leaf operation-type {
            type Xlnc-bag-op;
            description
              "Operation type (set or delete)";
          }
        }  // grouping XLNC-BAG-SYNC-INTF-ATTRS-OP
    
        grouping XLNC-ERROR-TYPE {
          description
            "XLNC error types which may cause an inconsistency";
          container interface-attributes-operation {
            when
              "../error-category = 'default-error-category'" {
              description
                "../ErrorCategory = 'DefaultErrorCategory'";
            }
            description
              "Interface attributes synchronization operation";
            uses XLNC-BAG-SYNC-INTF-ATTRS-OP;
          }  // container interface-attributes-operation
    
          container set-linux-error {
            when
              "../error-category = 'set-linux-error-category'" {
              description
                "../ErrorCategory = 'SetLinuxErrorCategory'";
            }
            description
              "Error type associated with failure to set
             interface attributes in Linux.";
            uses XLNC-BAG-SET-LINUX-ERROR-TYPE;
          }  // container set-linux-error
    
          container set-ios-xr-error {
            when
              "../error-category = 'set-ios-xr-error-category'" {
              description
                "../ErrorCategory = 'SetIOS_XR_ErrorCategory'";
            }
            description
              "Error type associated with failure to set
             interface attributes in IOS-XR.";
            uses XLNC-BAG-SET-XR-ERROR-TYPE;
          }  // container set-ios-xr-error
    
          container resync-attributes-operation {
            when
              "../error-category = 'im-resync-error-category'" {
              description
                "../ErrorCategory = 'ImResyncErrorCategory'";
            }
            description
              "Resync interface attributes synchronization
             operation";
            uses XLNC-BAG-SYNC-INTF-ATTRS-OP;
          }  // container resync-attributes-operation
    
          leaf error-category {
            type Xlnc-bag-error-category;
            description "ErrorCategory";
          }
        }  // grouping XLNC-ERROR-TYPE
    
        grouping XLNC-BAG-INCONSISTENCY {
          description
            "XLNC inconsistency record";
          container error {
            description
              "Diagnostic information about the error which
             caused the inconsistency.";
            uses XLNC-ERROR-TYPE;
          }  // container error
    
          leaf milliseconds-since-epoch {
            type uint64;
            units "millisecond";
            description
              "How many milliseconds after the Unix epoch the
             inconsistency occurred";
          }
    
          leaf inconsistency-category {
            type Xlnc-bag-inconsistency-category;
            description
              "Type of inconsistency which occurred";
          }
        }  // grouping XLNC-BAG-INCONSISTENCY
    
        grouping XLNC-BAG-VRF-INCONSISTENCIES {
          description
            "XLNC inconsistencies observed for a given
           interface and associated interface metadata.";
          leaf vrf-name-xr {
            type string;
            description "IOS-XR VRF name";
          }
    
          leaf linux-network-namespace-name {
            type string;
            description
              "Linux network namespace name corresponding to
             the IOS-XR VRF";
          }
    
          leaf inconsistencies-truncated {
            type boolean;
            description
              "The oldest entries are no longer saved, because
             the sequence became too long.";
          }
    
          list inconsistency {
            description
              "Sequence of inconsistencies";
            uses XLNC-BAG-INCONSISTENCY;
          }  // list inconsistency
        }  // grouping XLNC-BAG-VRF-INCONSISTENCIES
    
        grouping XLNC-BAG-INTERFACE-ADDRESS-ONLY {
          description
            "XLNC Address-only interface";
          leaf interface-name-xr {
            type string;
            description "IOS-XR interface name";
          }
    
          leaf vrf-name-xr {
            type string;
            description
              "IOS-XR VRF name the interface is assigned to";
          }
    
          leaf ipv4-address-xr {
            type inet:ipv4-address;
            description
              "IPv4 address which has been added to a Linux
             loopbad device";
          }
    
          leaf virtual {
            type boolean;
            description
              "Whether this address comes from an IOS-XR
             Virtual IP address";
          }
    
          leaf-list ipv4-address {
            type Bag-in6-addr;
            description
              "IPv6 addressess which has been added to a Linux
             loopbad device";
          }
        }  // grouping XLNC-BAG-INTERFACE-ADDRESS-ONLY
      }  // submodule Cisco-IOS-XR-linux-xlnc-oper-sub1
    

© 2023 YumaWorks, Inc. All rights reserved.