This submodule contains a collection of YANG definitions for Cisco IOS-XR linux-xlnc package operational data. Copyright (c) 20...
Version: 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.